这听起来很有趣..只是一个小实验。
我想使用发送消息模拟在应用程序/窗口上拖放文件。
可能吗?
我没有应用程序的代码,但在可执行文件上。
申请是IP Messenger .
我想做的是使用“发送到”功能将文件发送到 .exe,这将
找到 IPMessenger 窗口并模拟拖放代码。
用户将选择文件并右键单击“发送到”到将从代码拖放的 .exe。
**注意:IP Messenger 支持对文件进行拖放操作
谢谢
阿米特
最佳答案
有 WM_DROPFILES
Message .我想你可以使用 CreateToolhelp32Snapshot
找到 IP Messenger 窗口,然后构建 DROPFILES
结构以与 WM_DROPFILES
消息一起发送。
最后一个链接将是 Codeproject,在创建 DROPFILES
结构方面有一些帮助:How to Implement Drag and Drop Between Your Program and Explorer .
您可以使用 FindWindow
而不是使用 CreatToolhelp32Snapshot
功能。在这里您将直接获取 IP Messenger 的 HWND
,而不是 CTh32S
,它只会定位进程的 HANDLE
。
完成后,您将创建 DROPFILES
结构。阅读有关 “启动拖放” 部分中 CodeProject 链接的评论,了解更多信息。
最后你用sendmessage发送它
SendMessage(ipMessHWND, WM_DROPFILES, (HDROP)&myDropFiles, 0);
关于c# - 使用 SendMessage 拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2070740/