读取被鼠标拖动的项目

本文关键字:项目 拖动 鼠标 读取 | 更新日期: 2023-09-27 18:01:38

我想知道他们是否有任何方法可以看到当前被鼠标拖动的内容。我不是指在一个winforms,因为我可以处理事件,并得到它的方式,但有没有人能够调用一些winapi来读取对象或信息?

我正在尝试"监视"(可能不是最好的选择)光标,看看被拖动的是什么,然后可能读取该对象。

c#/c++想法都欢迎!

Thanks in advance

读取被鼠标拖动的项目

一种设计方法是通过钩子将代码注入到所有应用程序中。

  • 使用钩子(Windows): http://msdn.microsoft.com/en-us/library/windows/desktop/ms644960(v=vs.85).aspx

这将允许您检测何时发生拖动,并且您可以使用应用程序本身可以使用的标准windows api来查找正在拖动的内容。

  • SetWindowsHookEx: http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990 (v = vs.85) . aspx

第二种方法是使用Windows UI自动化。这不会给你应用程序所看到的东西,也不会给你访问被拖放的确切数据的权限,但它可以为你提供足够的信息,无论你的目的是什么。

  • UI自动化支持拖放:http://msdn.microsoft.com/en-us/library/windows/desktop/hh707386(v=vs.85).aspx

尝试使用uspy或Inspect.exe查看UI自动化事件。

  • https://stackoverflow.com/questions/1848721/where-do-i-get-ui-spy