【问题标题】:how to fix window in background?如何在后台修复窗口?
【发布时间】:2015-03-10 09:31:58
【问题描述】:

我想让该窗口在执行 postmessage() 时不会成为前景。 但是,在执行程序时,窗口变成了前台。

point = (x,y);
lParam = makePararm(x,y);
PostMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, lParam);
sleep(0.03);
PostMessage(hWnd, WM_LBUTTONUP, MK_LBUTTON, lParam);

这个程序就是点击 x,y。 我想在背景中单击窗口(不成为前景!) 有人可以帮忙吗?

【问题讨论】:

  • 您正在向窗口发送鼠标消息,就好像用户在单击鼠标一样。接收应用程序无法区分这一点,它只是认为您用鼠标单击了它,因此它决定激活。当您向其发送消息的应用程序是您的(并且您有它的来源)时,您可以让它处理自定义消息并发送该消息。现在你只是在模拟鼠标点击。

标签: python windows python-2.7 winapi


【解决方案1】:

您正在向窗口发送鼠标消息,就好像用户正在单击鼠标一样。接收应用程序无法区分这一点,它只是认为您用鼠标单击了它,因此决定激活。

当您向其发送消息的应用程序是您的(并且您有它的来源)时,您可以让它处理自定义消息并改为发送该消息。

现在你只是模拟鼠标点击。

【讨论】:

  • 谢谢R.Beiboer。我明白。那么,如果处理自定义消息,我可以使用什么来制作自定义消息?
  • @Reavil 使用WM_APP 范围内的消息编号之一。
  • 您需要在 WM_APP 到 0xBFFF 范围内定义一条新消息。只需在您发送此消息的窗口的 WndProc 中处理此消息。
  • @Mark Ransom, R. Beiboer 谢谢你。你的建议很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-17
  • 2017-08-15
  • 2012-07-16
  • 1970-01-01
  • 2017-10-31
  • 1970-01-01
相关资源
最近更新 更多