WINCE设备的文件写入问题

o_range 2014-07-31 10:57:09
电脑为WIN7系统,使用mobile设备中心同步,下位机是WINCE6.0

连接设备后,通过“我的电脑”打开“WINCE设备”,可以对设备文件进行直接复制、粘贴,没有问题!

然而,我写了文件复制粘贴的程序,下面的代码就是按钮事件处理,功能是将剪切板第一个文件粘贴到某个位置。


SaveFileDialog dialogSave = new SaveFileDialog();
if (dialogSave.ShowDialog(this) == DialogResult.OK)
{
file3 = dialogSave.FileName;
file2 = Clipboard.GetFileDropList()[0];
File.Copy(file2, file3);
}

程序运行在win7上,如果对系统硬盘或者U盘进行操作,代码执行没有问题;
如果是将WINCE设备中的文件进行复制,然后粘贴到系统硬盘中,也没有问题;
但是,如果想要将剪切板的文件粘贴到WINCE设备中,就会弹出

求解决方案~
...全文
248 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
o_range 2014-08-03
  • 打赏
  • 举报
回复
引用 13 楼 91program 的回复:
[quote=引用 12 楼 accessysq 的回复:] [quote=引用 10 楼 91program 的回复:] 刚好偶的电脑系统也是 Win7,所以可以给 LZ 看看我的电脑上 ActiveSync 显示 Nand 目录的例子。 显示如下:计算机\Compact\NAND 但是在编程中,只能使用 \NAND 这样的写法。
这种方式好像没有用吧,我试过了,提示路径不存在,不过文件到是copy到了我的D盘下,很怪异。[/quote] 确实如你所说,在 PC 上运行的程序,是不直接将文件复制到设备上,只能通过 RAPI 来实现。 我一直以为 LZ 的程序是运行在设备上的,只是路径不对的问题。 RAPI 的使用示例,请参看这个帖子中的链接:http://bbs.csdn.net/topics/390847584[/quote] BZ,我现在上下传的代码差不多懂了,但是还是找不到WINCE设备的路径啊,运行WINCE程序获取程序所在路径的话就是“\programms....”这个路径没有盘符啊都~~~~
o_range 2014-08-03
  • 打赏
  • 举报
回复
引用 18 楼 91program 的回复:
WinCE 下的路径没有盘符是正确的
BZ,你是对的!!!!!
o_range 2014-08-03
  • 打赏
  • 举报
回复
最终使用rapi解决了,路径设置的问题~ 结贴~ 现在还奇怪着,文件打开保存路径有时候是\有时候是/....
91program 2014-08-03
  • 打赏
  • 举报
回复
WinCE 下的路径没有盘符是正确的
o_range 2014-08-02
  • 打赏
  • 举报
回复
引用 12 楼 accessysq 的回复:
[quote=引用 10 楼 91program 的回复:] 刚好偶的电脑系统也是 Win7,所以可以给 LZ 看看我的电脑上 ActiveSync 显示 Nand 目录的例子。 显示如下:计算机\Compact\NAND 但是在编程中,只能使用 \NAND 这样的写法。
这种方式好像没有用吧,我试过了,提示路径不存在,不过文件到是copy到了我的D盘下,很怪异。[/quote] 使用openfile获取filename得到WINCE文件路径是:C:\Users\Administrator\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\2NU5BVTN\xxx.xxx; 而且选择WINCE下的不同文件,"2NU5BVTN"这个字段还在变化; 而且我在C盘搜索“temporary”文件夹都找不到,沿着路径找也没有
91program 2014-08-02
  • 打赏
  • 举报
回复
偶没有用过 C#
o_range 2014-08-02
  • 打赏
  • 举报
回复
引用 13 楼 91program 的回复:
[quote=引用 12 楼 accessysq 的回复:] [quote=引用 10 楼 91program 的回复:] 刚好偶的电脑系统也是 Win7,所以可以给 LZ 看看我的电脑上 ActiveSync 显示 Nand 目录的例子。 显示如下:计算机\Compact\NAND 但是在编程中,只能使用 \NAND 这样的写法。
这种方式好像没有用吧,我试过了,提示路径不存在,不过文件到是copy到了我的D盘下,很怪异。[/quote] 确实如你所说,在 PC 上运行的程序,是不直接将文件复制到设备上,只能通过 RAPI 来实现。 我一直以为 LZ 的程序是运行在设备上的,只是路径不对的问题。 RAPI 的使用示例,请参看这个帖子中的链接:http://bbs.csdn.net/topics/390847584[/quote] 老大,有C#版本的么,看了一天都没能将其应用~
91program 2014-08-01
  • 打赏
  • 举报
回复
引用 12 楼 accessysq 的回复:
[quote=引用 10 楼 91program 的回复:] 刚好偶的电脑系统也是 Win7,所以可以给 LZ 看看我的电脑上 ActiveSync 显示 Nand 目录的例子。 显示如下:计算机\Compact\NAND 但是在编程中,只能使用 \NAND 这样的写法。
这种方式好像没有用吧,我试过了,提示路径不存在,不过文件到是copy到了我的D盘下,很怪异。[/quote] 确实如你所说,在 PC 上运行的程序,是不直接将文件复制到设备上,只能通过 RAPI 来实现。 我一直以为 LZ 的程序是运行在设备上的,只是路径不对的问题。 RAPI 的使用示例,请参看这个帖子中的链接:http://bbs.csdn.net/topics/390847584
  • 打赏
  • 举报
回复
引用 10 楼 91program 的回复:
刚好偶的电脑系统也是 Win7,所以可以给 LZ 看看我的电脑上 ActiveSync 显示 Nand 目录的例子。 显示如下:计算机\Compact\NAND 但是在编程中,只能使用 \NAND 这样的写法。
这种方式好像没有用吧,我试过了,提示路径不存在,不过文件到是copy到了我的D盘下,很怪异。
o_range 2014-08-01
  • 打赏
  • 举报
回复
引用 7 楼 91program 的回复:
用 GetModuleFileName() 函数试试 在 PC 上显示为:WINCE\disk1,与你的电脑系统是 Win7 有一定的关系,如果是 WinXP 就不会那样的。
C++不太会用呢,我先baidu下吧
91program 2014-08-01
  • 打赏
  • 举报
回复
刚好偶的电脑系统也是 Win7,所以可以给 LZ 看看我的电脑上 ActiveSync 显示 Nand 目录的例子。 显示如下:计算机\Compact\NAND 但是在编程中,只能使用 \NAND 这样的写法。
91program 2014-07-31
  • 打赏
  • 举报
回复
WINCE 下怎么可能有这样的目录?WinCE 下目录是以 \ 开始的,没有C:\ 这类的盘符。
o_range 2014-07-31
  • 打赏
  • 举报
回复
引用 1 楼 91program 的回复:
请调试或打印,看看各文件的保存路径是否存在? WinCE 下最好是使用全路径,因为 WinCE 下没有当前工作目录的概念。
我使用openfiledialog打开WINCE下面文件时得到的路径是:C:\Users\Administrator\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\Q4866QO5\新建文本文档[1].txt用这个路径作为粘贴地不行; 而用 WinCE\\DIsk1\\1.txt也不行,提示说“未能找到路径……的一部分”
91program 2014-07-31
  • 打赏
  • 举报
回复
请调试或打印,看看各文件的保存路径是否存在? WinCE 下最好是使用全路径,因为 WinCE 下没有当前工作目录的概念。
  • 打赏
  • 举报
回复
用RAPI函数吧 普通函数是不行的。你自己手动复制文件到wince,可以看到一个对话框,跟在windows上是不一样的,其实是同步软件帮你实现了复制。 copyfile,SHFileOperation之类的函数应该都有路径的问题吧。
  • 打赏
  • 举报
回复
引用 6 楼 o_range 的回复:
[quote=引用 4 楼 bigwatercar 的回复:]

int SHFileOperation(
          LPSHFILEOPSTRUCT lpFileOp
);
不太懂啊大侠 [/quote] 我意思用这个函数做复制,具体看msdn或搜一下例子
91program 2014-07-31
  • 打赏
  • 举报
回复
用 GetModuleFileName() 函数试试 在 PC 上显示为:WINCE\disk1,与你的电脑系统是 Win7 有一定的关系,如果是 WinXP 就不会那样的。
o_range 2014-07-31
  • 打赏
  • 举报
回复
引用 4 楼 bigwatercar 的回复:

int SHFileOperation(
          LPSHFILEOPSTRUCT lpFileOp
);
不太懂啊大侠
o_range 2014-07-31
  • 打赏
  • 举报
回复
引用 2 楼 o_range 的回复:
[quote=引用 1 楼 91program 的回复:] 请调试或打印,看看各文件的保存路径是否存在? WinCE 下最好是使用全路径,因为 WinCE 下没有当前工作目录的概念。
我使用openfiledialog打开WINCE下面文件时得到的路径是:C:\Users\Administrator\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\Q4866QO5\新建文本文档[1].txt用这个路径作为粘贴地不行; 而用 WinCE\\DIsk1\\1.txt也不行,提示说“未能找到路径……的一部分”[/quote] 直接打开WINCE设备文件夹是WINCE\disk1..。但是我从openfiledialog打开wince中的文件获得的路径就是这个~
  • 打赏
  • 举报
回复

int SHFileOperation(
          LPSHFILEOPSTRUCT lpFileOp
);

19,504

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧