Ach*_*rma 11
您可以在C++和C#中执行此操作.为此,您必须挂钩应用程序消息循环并将WM_CLOSE消息覆盖到WM_MINIMIZE.要挂钩任何正在运行的进程,您可以使用:
微软Detours(商业,如果我没记错的话,不是免费的)(http://research.microsoft.com/en-us/projects/detours/)
EasyHook(LGPL下的开源)(http://easyhook.codeplex.com/)
我使用过EasyHook,我对结果非常满意.它为您提供了非常好的功能,例如启动附加挂钩的进程或将挂钩附加到已经运行的进程.此外,它还为您提供托管(C#)和本机挂钩库.我建议你看一下......
对于C#,这可以通过一种非常简单的方式完成:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (!realClose)
{
e.Cancel = true;
this.WindowState = FormWindowState.Minimized;
}
}
Run Code Online (Sandbox Code Playgroud)
realClose当你想要关闭应用程序时,你设置为true的布尔值在哪里(例如,当用户按下关闭按钮时,而不是当他使用file -> exit或某些此类时)