【发布时间】:2012-11-07 16:55:49
【问题描述】:
我想获得相对于另一个窗口(窗口客户区)的鼠标坐标,该窗口不是我的应用程序的一部分。
我宁愿这样做而不深入研究 Win32 API 和 dll 导入,但我不确定是否可行。
基本思想是:我的 C# WPF 应用程序将获得用户焦点,当用户按下热键 (CTRL + C) 时,应用程序将获得相对于先前指定窗口的客户区的坐标。这只是我需要为内部开发协助制作的快速应用程序。
【问题讨论】:
-
如果它在你自己的窗口中,你如何在客户端相对坐标和屏幕绝对坐标之间切换?如果您在托管模式下执行此操作,是否有任何方法可以接受要考虑的基本窗口的窗口句柄?如果不是,那么您可能应该使用 win 32 API,这没有什么不好的:)
-
您只需要对 Win32 DLL 进行两次调用,这不会太糟糕(并且是我知道的唯一解决方案)。这里有一个好的开始:stackoverflow.com/questions/1364440/… 试一试,如果遇到任何问题,请更新您的帖子。唯一的缺点是您最终会得到一个仅限 Windows 的解决方案,但这可能满足您的需求。
-
@jheddings:谢谢,我会试一试。
标签: c#