微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.NET进程间“事件”

我有一个应用程序运行的多个实例。 用户提问可以点击每个实例上的“退出”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] 举报,一经查实,本站将立刻删除。

相关推荐