如何用c#安全关闭所有正在运行的应用程序

Sur*_*esh 2 c# process

如何使用c#安全地关闭所有正在运行的应用程序,而不使用Windows注销和关闭API函数.关闭所有应用程序后,我想展示我的申请

Chr*_*isV 5

如果这是标准Windows登录机制的替代品,那么你做得不对.在2000/XP上,考虑编写自定义 GINA 替代品.在Vista/7上,你需要编写一个新的凭证提供程序,因为它们摆脱了旧的GINA/Winlogon堆栈.

如果您尝试进行某种类型的自定义服务,您是否考虑过简单地切换桌面?它基本上是Windows为Ctrl + Alt + Delete和UAC"安全桌面"所做的事情.比杀死整个系统和重新填充更少的工作.

说真的,仔细思考你将要做的事情.以下几乎肯定是错误的,可能并不总是适用于某些程序:

// I mean it! This will cause badness!
using System.Diagnostics;

Process me = Process.GetCurrentProcess();
foreach (Process p in Process.GetProcesses())
{
    if (P.Id != me.Id)
        P.CloseMainWindow(); // Sends WM_CLOSE; less gentle methods available too
}
Run Code Online (Sandbox Code Playgroud)