Nic*_*ado 5 c# explorer hook user32 dllimport
在使用自定义/自制的explorer.exe文件时,我需要帮助处理最小化的程序..因为除非正确处理,否则最小化的程序将缩小到100x50px并停留在屏幕上.我在C#中设计了一个Timer来检查"标志性"进程,列出他们的mainWindowHandler,然后用"MoveWindow"将它们移出屏幕.为了把它们带回来,我使用处理程序和"ShowWindow"函数,它们工作真棒......但正如我所说,它涉及一个不断运行的Timer,因此必须有一个更清洁/更简单的方法来实现这一点.
有任何想法吗?在窗口最小化时挂钩和引发事件的一些方法?
*请注意:show和movewindow是user32.dll的功能.当我的表格被最小化时,我不是想要抓住,而是当其他的表格是.
您可以创建一个挂钩来检查窗口何时最小化。
我发现一篇 CodeProject 文章 使用钩子来检查用户何时在任何窗口上打开系统菜单 ( ALT+ SPACE),然后向其附加一个额外的项目。您可以使用该代码来检查用户何时点击最小化按钮,并运行您需要的任何代码。
CodeProject 文章是用 C++ 编写的,但您可以为 C# 采用相同的方法(或使用 P/Invoke)。