我编写了一个程序来控制另一个程序的轨迹栏。我已成功使用set_range和set_pos使这个轨迹栏移动。不幸的是,目标程序不会承认滑块移动的事实。例如,轨道栏旁边有静态文本,为其提供当前值。使用鼠标移动滑块时,静态文本会发生变化。当您使用set_pos移动它时,轨迹栏会移动但静态文本不会更改。这告诉我链接轨道栏的变量没有刷新或其他可能是错误的。
为了将来参考,我试图控制的程序不是由我编写的,所以我使用SendMessage()来给它命令。此外,如果我移动条并使用鼠标单击它,静态文本上的值将刷新。
有谁知道如何通过Windows消息完全模拟用户?或者,如果可能有消息,我可以发送它来刷新附加到它的变量。无论哪种方式,这是我最后一个项目的最后一个问题,应该在两周后到期,所以我非常感谢任何可以让我回到正轨的人。
使用SPY ++我注意到我试图控制的程序在使用带有鼠标的轨迹栏时发送这些消息:
<object type="text/html" data="External_URL" width="500px" height="500px">
</object>
我的测试代码,
-WM_MOUSEACTIVATE
-WM_HSCROLL->SB_THUMBTRACK
-WM_HSCROLL->SB_THUMBPOSITION
-WM_HSCROLL->SB_ENDSCROLL
-WM_NOTIFY
请告知