Ami*_*itd 7 c# c++ winapi drag-and-drop sendmessage
这听起来很有趣......只是一个小实验.
我想使用发送消息模拟应用程序/窗口上文件的拖放.可能吗?
我没有应用程序的代码,但在可执行文件上.
该应用程序是IP Messenger.
我想要做的是使用"发送到"功能将文件发送到.exe,它将
找到IPMessenger窗口并模拟拖放thr代码.
用户将选择该文件,然后右键单击"发送到".exe,它将从代码中拖放.
**注意:IP Messenger支持文件的拖放操作
thx
amit
有WM_DROPFILES
消息。我想您可以用来CreateToolhelp32Snapshot
定位 IP Messenger 窗口,然后构建与消息DROPFILES
一起发送的结构WM_DROPFILES
。
最后的链接是 Codeproject,其中包含创建DROPFILES
结构的一些帮助:How to Implement Drag and Drop Between Your Program and Explorer。
CreatToolhelp32Snapshot
您可以使用FindWindow
函数来代替使用。在这里您将HWND
直接获得 IP Messenger 的 ,而不是CTh32S
,后者只会定位HANDLE
进程的 。
完成此操作后,您将创建DROPFILES
结构。请阅读“启动拖放”部分中 CodeProject 链接上的注释,了解有关操作方法的更多信息。
最后用 sendmessage 发送
SendMessage(ipMessHWND, WM_DROPFILES, (HDROP)&myDropFiles, 0);
Run Code Online (Sandbox Code Playgroud)