delphi将密钥发送到一个不可见的进程

时间:2011-08-14 16:57:12

标签: delphi

目标是将Q键按下发送到不可见的进程(没有焦点):我知道进程ID。

我知道如何将密钥发送到可见的应用程序。这可以用于隐藏的应用程序吗?

1 个答案:

答案 0 :(得分:1)

我假设,你的不可见进程有一个窗口,它恰好是不可见的(例如,它可以通过调用带有SW_HIDE als参数的ShowWindow来隐藏)并且你想要使用它来发送击键的SendMessage / PostMessage的。

我建议尝试以下方法:

  1. 使用EnumWindows枚举所有主窗口。
  2. 对于每个窗口,使用GetWindowThreadProcessId检查它是否属于您的流程。
  3. 一旦找到流程的主窗口,请使用SendMessagePostMessage发送您的击键。
  4. 隐藏窗口应该能够接收与可见窗口一样好的键盘,并且大多数应用程序可能不会在响应之前检查它们是否真的可见,因此很有可能它起作用。