处理最小化的程序

本文关键字:程序 最小化 处理 | 更新日期: 2023-09-27 18:29:15

使用自定义/自制explorer.exe文件时,我需要帮助处理最小化的程序。。因为除非处理得当,最小化的程序只会缩小到100x50px,并停留在屏幕上。我在C#中设计了一个Timer来检查"标志性"进程,列出它们的mainWindowHandler,并用"MoveWindow"将它们移到屏幕外。为了把它们带回来,我使用了处理程序和"ShowWindow"函数,它的工作原理非常好。。但正如我所说,它涉及到一个不断运行的定时器,所以必须有一种更清洁/更容易的方法来实现这一点。

有什么想法吗?当窗口最小化时,挂接并引发事件的某种方法?

*请注意:show和movewindow是user32.dll中的函数。我不是想捕捉我的表单何时最小化,而是其他程序何时最小化。

处理最小化的程序

您可以创建一个钩子来检查窗口何时最小化。

我发现了一篇CodeProject文章,当用户在任何窗口上打开系统菜单(ALT+SPACE),然后在其中添加一个额外的项目时,它使用钩子来检查。你可以使用该代码来检查用户何时点击最小化按钮,并在那里运行你需要的任何代码。

CodeProject文章是用C++编写的,但您可以将相同的方法用于C#(或使用p/Invoke)。