【问题标题】:Delphi - Hide Window By its TitleDelphi - 按标题隐藏窗口
【发布时间】:2016-08-24 10:53:41
【问题描述】:

我正在寻找可以通过标题隐藏窗口 (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;

【问题讨论】:

    标签: delphi winapi


    【解决方案1】:

    这个比较简单。采取以下步骤:

    1. 使用FindWindowFindWindowExEnumerateWindows 定位您的窗口。
    2. 使用ShowWindow 隐藏窗口。

    您已经知道ShowWindow,所以问题可能出在第 1 项上。但是您显然已经知道如何从窗口标题中获取 PID,这意味着作为该过程的一部分,您能够找到窗口句柄。

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

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

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

    【讨论】:

    • 我不是在寻找隐藏窗口。我正在寻找隐藏窗口。谢谢 。如果你能给出一个代码。那会很棒。
    • ShowWindow 是隐藏窗口的方式。您是否考虑过聘请程序员为您编写代码。 Stack Overflow 不是一个让人们免费进行编程的网站。如果你已经有一个程序员,为什么不让他们写代码呢?如果您的代码不起作用,请显示minimal reproducible example 并寻求具体帮助以了解问题所在。我看到你是 SO 的新手,也许去help center 会很有用。
    • 非常感谢,不要紧张。我只是说,如果有人可以向我们发布代码,那就太好了。就是这样
    • @JohnBaker, "I'm not looking for hiding window . i'm lookin' for HIDING WINDOW" - 你能解释一下吗?
    • 约翰,你没有在这里得到任何代码,因为你已经有了代码。您拥有 FindProcessByTitle 中的任何代码,并且您被告知可以调整它以找到窗口句柄。您已经知道如何隐藏窗口。你认为你还需要哪一部分?如果您不愿意自己阅读和编写代码,那么 Stack Overflow 不适合您;这是一个程序员的网站,这就是程序员所做的。如果您在调整窗口查找代码时需要帮助,请说出来,但也要分享该代码并说明您不理解的部分,以便有人可以帮助您。
    猜你喜欢
    • 2012-10-14
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    相关资源
    最近更新 更多