2010-01-15 160 views
6

這聽起來很有趣..只是一個小實驗。
我想使用發送消息模擬應用程序/窗口上文件的拖放。 這可能嗎?使用SendMessage拖動拖放

我沒有代碼的應用程序,但在可執行文件。

該申請是IP Messenger

我想要做的就是使用「發送到」功能將文件發送到.exe,這將
找到IPMessenger窗口並模擬拖放的thr代碼。

用戶將選擇文件,並右鍵單擊「發送到」到.exe,它將從代碼拖放。

**注:飛鴿傳書支持文件

THX
阿米特

+0

嗨Amitd 發送我有完全一樣的問題 你找到答案了嗎? – AliPST 2010-01-24 12:32:36

+0

什麼都沒有.. 仍在研究.. 將更新如果有什麼:) – Amitd 2010-01-25 17:40:35

+0

以下解決方案的工作? – Default 2010-03-23 05:46:29

回答

3

還有就是WM_DROPFILES Message拖放操作。我想你可以用CreateToolhelp32Snapshot找到IP Messenger的窗口,然後用WM_DROPFILES消息構建發送的DROPFILES結構。

最終的鏈接是Codeproject,在創建DROPFILES結構時有一些幫助:How to Implement Drag and Drop Between Your Program and Explorer


而不是使用CreatToolhelp32Snapshot你可以使用FindWindow功能。在這裏,您將直接獲得IP信使的HWND,而不是CTh32S,這將只爲該過程找到HANDLE

完成此操作後,將創建DROPFILES結構。閱讀「啓動拖放」部分的CodeProject鏈接中的註釋,以獲取更多信息。

最後你SendMessage函數

SendMessage(ipMessHWND, WM_DROPFILES, (HDROP)&myDropFiles, 0); 
+0

只是我想找的東西。看起來相當複雜。 Thx :) – Amitd 2010-03-17 05:59:21

+0

我增加了一些更多,希望更清晰 – Default 2010-03-17 09:26:55