相关疑难解决方法(0)

如何调出内置的文件复制对话框?

我将使用我的winforms应用程序通过网络复制一个大文件,我需要显示某种进度条.我没有做自己的复制程序,而是认为简单地显示内置文件复制对话框可能会更好.

我还需要一个"复制完成"和"复制失败"通知.

我需要这个在Windows XP,Vista和7上工作.有没有办法打电话来从我的c#代码中使用这个功能?

c# winapi dialog .net-3.5 file-copying

19
推荐指数
2
解决办法
1万
查看次数

文件被复制到SysWOW64而不是System32

我的应用程序运行时,我必须将psTool实用程序复制到System32文件夹.
我在64位Windows 7上,每当我尝试将exe复制到system32位文件夹时File.Copy,exe总是被复制到SysWow64.

当我在destFile上放置断点时,路径显示为C:\Windows\System32但文件不会进入(转到sysWow64).我试过了Special Folder SystemX86,但文件再次进入sysWOW64.

string sourceFile = "C:\bin\Debug\somexe.exe"
string destFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), utilityName);
File.Copy(sourceFile, destFile, true);
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么建议?

编辑

正如下面的答案中所指出的,存在文件系统重定向.我正在使用Visual Studio的默认设置为64位操作系统上的控制台应用程序开发应用程序.我不确定在编译时必须保留哪些设置/开关,以便应用程序在32位和64位OS上都能正常工作.
基本上,它应该只设置复制文件,System32而不管它是什么位操作系统.
在程序的后面,我必须通过命令行访问psTools实用程序,如果我将它放在SysWOW64中则不可用.如果我进行更改,使用SysWOW64的32位cmd.exe,这将再次是64位平台特定的东西,我不想选择.

任何可以让应用程序在32位和64位上运行而没有问题的解决方案?我是否必须修改代码(如何?)或者我是否必须修改此控制台应用程序项目的某些属性(属性)?

.net c# windows 64-bit 32bit-64bit

17
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×2

.net ×1

.net-3.5 ×1

32bit-64bit ×1

64-bit ×1

dialog ×1

file-copying ×1

winapi ×1

windows ×1