我有同一个应用程序运行的多个实例。 用户提问可以点击每个实例上的“退出”closures它。
我想添加select“退出所有实例”,这将引起一些小孩的“事件”,通知所有应用程序的实例,他们应该closures。 我不需要随这个事件一起传输任何数据。
使用C#/ .NET在Windows中执行此操作的最好(也是最简单的)方法是什么?
如何使用SPI_SETWORKAREA标志调整桌面工作区的大小?
帮助修复C#中的错误“引用或失败参数必须是可赋值的”
除了Mono之外,还有其他方法可以在Mac或Linux上运行Microsoft .NET吗?
我怎么知道连接是否被测量?
如何在.NET中实现精细的字体缩放?
如何为xbuild添加缺less的程序集引用? (单声道/ Linux)的
使用System.Security.Cryptography将Win32 Crypto API调用转换为C#
如何查看exe的SmartScreen声誉得分?
使用TLS安全在.Net中映射networking驱动器
如何从dns域名获得简短的“域名”?
将good'ol WM_CLOSE发送到所有实例…
Process[] processes = Process.GetProcesses(); string thisProcess = Process.GetCurrentProcess().Mainmodulee.FileName; string thisProcessName = Process.GetCurrentProcess().ProcessName; foreach (Process process in processes) { // Compare process name,this will weed out most processes if (thisProcessName.Compareto(process.ProcessName) != 0) continue; // Check the file name of the processes main module if (thisProcess.Compareto(process.Mainmodulee.FileName) != 0) continue; if (Process.GetCurrentProcess().Id == process.Id) { // We don't want to commit suicide continue; } // Tell the other instance to die Win32.SendMessage(process.MainWindowHandle,Win32.WM_CLOSE,0); }
System.Diagnostics.Process类有几个可以使用的方法。
Process.GetProcessesByName将让你枚举所有的实例:
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.getprocessesbyname.aspx
那么Process.CloseMainWindow或Process.Close会关闭它们:
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.closemainwindow.aspx http://msdn.microsoft.com/en-us/library/system.diagnostics.process.close.aspx
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。