有没有办法从 C# 连接到 Windows 文件复制 API?我知道这需要非托管代码,但代码示例或入门程序会很有帮助。我已经看过 C++ 代码,但都是希腊语。
UPDATE:我很抱歉,我应该更清楚地表达我的意图。我实际上希望将 Windows 的复制功能更改为更加严格(例如允许排队、调度、处理重新启动、暂停等)。当我说钩子时,我指的是 API 钩子,这样当有人启动副本时,我可以获得源和目的地,并可以按照我的意愿处理它。我是个老派,经常挂接 Mac OS API 来完成这些事情,所以我假设在 C++ WINAPI 世界中存在某种类型的等价物。
Update:正如其他人所说,为什么不直接使用System.IO.File.Copy(...)
?它调用相同的底层 API。正如 Michael G 指出的那样,也许您打算调用 FileCopyEx API,它允许您挂钩进度指示回调(???)这确实是在 .NET 中 P/Invoke 文件复制内容的唯一原因。详细说明如何实施FileCopyEx
可以在这里找到:http://pinvoke.net/default.aspx/kernel32/CopyFileEx.html http://pinvoke.net/default.aspx/kernel32/CopyFileEx.html
原答案: (你真的不应该使用......)
代码片段被删除,因为你真的不应该使用它......如果您一心想要编写失败的代码,您可以在以下位置找到如何使用它:找到http://pinvoke.net/default.aspx/kernel32/CopyFile.html http://pinvoke.net/default.aspx/kernel32/CopyFile.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)