可以使用SendInput模擬拖放操作嗎?使用SendInput模擬拖放操作
我有一個應用程序接受某些格式的文件,而不是從命令行中刪除,我想將它與一個文件關聯起來。我想我會創建一個小工具來查找窗口,並模擬文件拖放 - 這是否可能?我需要使用SendInput
或可能SendMessage
?參數是什麼?
可以使用SendInput模擬拖放操作嗎?使用SendInput模擬拖放操作
我有一個應用程序接受某些格式的文件,而不是從命令行中刪除,我想將它與一個文件關聯起來。我想我會創建一個小工具來查找窗口,並模擬文件拖放 - 這是否可能?我需要使用SendInput
或可能SendMessage
?參數是什麼?
是的,很可能。 SendInput以非常低的水平注入鼠標事件。 SendMessage不起作用。
由於DoDragDrop是一個阻塞調用,您將需要一個線程。先將鼠標放下,啓動線程,調用DoDragDrop。線程應該睡眠,以便有足夠的時間讓DoDragDrop開始使用,然後假冒鼠標移動並向上移動。第一次保持手指交叉,它不可能調試,如果沒有。
該shell已經有一個模擬drop的功能:SHDoDragDrop,不需要像僞造鼠標輸入這樣的黑客。
既然你正在談論的命令行,XP加入了模擬d應用程序/註冊的文件類型& d支持:How do I accept files to be opened via IDropTarget instead of on the command line?