我需要观看一个用 c++ 编写的应用程序,并知道它何时移动,以便我的 c# windows 窗体应用程序可以随之移动。
我可以使用计时器轮询 c++ 应用程序的位置,但需要更好的解决方案。
如何查看一个应用程序的 Windows 消息以查看它是否已移动?
可以做到吗?
还是我需要找到一个 C++ dll 来完成它或编写一个?
我需要观看一个用 c++ 编写的应用程序,并知道它何时移动,以便我的 c# windows 窗体应用程序可以随之移动。
我可以使用计时器轮询 c++ 应用程序的位置,但需要更好的解决方案。
如何查看一个应用程序的 Windows 消息以查看它是否已移动?
可以做到吗?
还是我需要找到一个 C++ dll 来完成它或编写一个?
如果您不想从 C# 应用程序轮询 C++ 应用程序,最好将数据从 C++ 应用程序推送到 C#,这样您就可以摆脱不必要的轮询(我假设这就是为什么您不想通过 C# 轮询 C++)。
为此,您可以使用WM_COPYDATA将数据从 C++ 应用程序发送到 C# 应用程序。
您可以使用SetWindowsHook和WH_CBT挂钩,它会通知您窗口移动了。