德尔福 - 按标题隐藏窗口

时间:2016-08-24 10:53:41

标签: delphi winapi

我正在寻找一个可以通过标题隐藏窗口(visibility = false)的代码。 (而且我不是在寻找杀戮任务) 我已经有一个代码让我处理父级,然后我可以向外部应用程序发送Showwindow(number of handle, sw_hide);

但现在我正在寻找更快的东西...

我有一个可以通过标题杀死窗口的代码:如果我们可以修改它来隐藏窗口就会很好。

begin
    PID := FindProcessByTitle('Form1');
    if PID <> 0 then
       begin hProcess := OpenProcess(PROCESS_TERMINATE, FALSE, PID);

    if hProcess <> 0 then begin TerminateProcess(hProcess,0); CloseHandle(hProcess);

end;

1 个答案:

答案 0 :(得分:3)

这个比较简单。请执行以下步骤:

  1. 使用FindWindowFindWindowExEnumerateWindows找到您的窗口。
  2. 使用ShowWindow隐藏窗口。
  3. 你已经知道了ShowWindow所以大概是问题在于第1项。但是再一次你显然已经知道如何从窗口标题获得一个PID,这意味着你作为该过程的一部分,能够找到窗口句柄。

    因此,请使用现有代码并修改FindProcessByTitle以返回窗口句柄而不是PID。

    您还提到您希望代码运行得更快。上述过程应该非常快速地执行。如果您的代码速度很慢,我们无法真正建议如何在不看实际代码的情况下提高速度(如果可行的话)。

    简而言之,我可能不会以当前的形式回答这个问题,而是要求你先改进问题。