首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SendInput模拟拖放操作

使用SendInput模拟拖放操作
EN

Stack Overflow用户
提问于 2011-03-06 09:43:48
回答 2查看 1.8K关注 0票数 0

是否可以使用SendInput来模拟拖放操作?

我有一个应用程序,它接受拖放到它上面的特定格式的文件,但不是从命令行,我想将它与一个文件关联起来。我想我应该创建一个小工具来查找窗口,并模拟文件的拖放过程--这可能吗?我是否需要使用SendInputSendMessage?参数是什么?

EN

回答 2

Stack Overflow用户

发布于 2011-03-06 11:59:04

是的,很有可能。SendInput以非常低的级别注入鼠标事件。SendMessage不起作用。

你需要一个线程,因为DoDragDrop是一个阻塞调用。先把鼠标按下,启动线程,调用DoDragDrop。线程应该休眠,以便有足够的时间让DoDragDrop启动,然后伪装鼠标移动并释放鼠标。祈祷它第一次就能正常工作,否则就不可能进行调试。

票数 3
EN

Stack Overflow用户

发布于 2011-03-07 00:53:19

shell已经有了一个模拟drop的函数:SHDoDragDrop,不需要像伪造鼠标输入这样的破解。

由于您正在谈论命令行,XP添加了对应用程序/注册文件类型的模拟D&D的支持:How do I accept files to be opened via IDropTarget instead of on the command line?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5208084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档