【发布时间】:2020-08-20 18:41:38
【问题描述】:
我正在编写一个脚本(在 C# 中,但几乎所有内容都通过 pinvoke 处理)找到鼠标指针下的窗口句柄并允许用户对其采取一些操作(主要是自定义有界窗口捕捉相关功能)。
我已经做到了它真的很好用的地步! 它可以移动桌面和任务栏。当然,这是我实际上不希望它做的事情。我只希望它在用户创建的 Windows 上工作; Chrome、Word、记事本或 Teams 之类的东西。
我可以查看一些方便的描述吗?我试过查看窗口样式或 PID,但我没有看到关于如何检测“这个‘窗口’归 Windows shell 拥有”的明显模式。
我意识到——我检查了窗口句柄是否属于explorer.exe,但这不起作用,因为它会阻止用户移动常规文件浏览器。
【问题讨论】:
-
也许这会有所帮助:(stackoverflow.com/questions/24320758/…)
-
你真的需要弄清楚你的边界在哪里......有人可以说,即使记事本也绝对是Windows的一部分......之后这个问题应该可以回答了。
标签: c# windows interop pinvoke