以编程方式粘贴剪贴板中的文件:复制还是移动?

时间:2012-01-05 16:30:30

标签: c# wpf copy-paste

我正在尝试创建一个WPF应用程序,我可以复制/剪切和粘贴文件信息,它会将它们复制/移动到特殊文件夹。我知道我可以使用

获取正在复制/剪切的文件的路径
var files = Clipboard.GetFileDropList();

但我想知道,我是否需要复制或移动文件?我已经阅读了有关收听WM_COPYWM_CUT的内容。我尝试将一个Hwnd挂钩挂钩到我的窗口汉德尔并且它不起作用,WM_COPYWM_CUT都没有被调用。我尝试了每一个。

那么确定文件是否被复制或剪切的最佳方法是什么? 一些代码示例或链接确实会有很大帮助。

谢谢。

2 个答案:

答案 0 :(得分:2)

https://stackoverflow.com/a/2078081/939213向后工作。和复制 - 用5代替。

答案 1 :(得分:1)

您将无法安装挂钩。我从经验中知道。 Windows只允许从.NET挂钩左右键单击。你必须创建一个win32 dll,然后在你的.NET代码中调用它来捕获钩子,如果你必须采取这种方法。

或者,就像这个应用程序听起来一样简单,只需使用API​​在C或C ++中编写它。

如果这只是您应用程序中的一个小功能而不是应用程序本身,您将要么必须找到执行注入并将其传递给您的.NET应用程序,否则您将不得不找到一种方法涉及钩子。