求助!如何使用C#通过PID查关互斥

qq_41617382 2018-01-13 02:48:47
如题,希望通过PID查找该进程的互斥,网上搜了很多资料都没有讲这一块的,如果可以请提供相关资料,或实例,谢谢
...全文
366 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_41617382 2018-01-15
  • 打赏
  • 举报
回复
引用 4 楼 sp1234 的回复:
通用的(跨平台的),随便打开一个文件就能“互斥”了。 那你可以通过(大致是)
Process.GetProcess();
返回的数组,遍历每一个进程的PID,找到你要的相关的进程模块名称,然后再遍历一遍找到同名(但是PID不同)的其它进程。
亲,我是想通过PID找到这个进程 的互斥然后实现多开,不是想限制该进程多开
qq_41617382 2018-01-15
  • 打赏
  • 举报
回复
引用 2 楼 ourhouzi 的回复:
是防止双开么? 同一个程序每次启动pid又不固定的。下面是可以防止双开的

 Mutex mutex = new Mutex(true, "myteststring", out onlyInstance);
            if (!onlyInstance)
            {
              mutex.Close();
            }
亲,我不是想防止多开,我就是想多开,想通过进程 的PID来找到这个程 序的互斥来进行多开
  • 打赏
  • 举报
回复
通用的(跨平台的),随便打开一个文件就能“互斥”了。 那你可以通过(大致是)
Process.GetProcess();
返回的数组,遍历每一个进程的PID,找到你要的相关的进程模块名称,然后再遍历一遍找到同名(但是PID不同)的其它进程。
ourhouzi 2018-01-13
  • 打赏
  • 举报
回复
是防止双开么? 同一个程序每次启动pid又不固定的。下面是可以防止双开的

 Mutex mutex = new Mutex(true, "myteststring", out onlyInstance);
            if (!onlyInstance)
            {
              mutex.Close();
            }
sakuragilyb 2018-01-13
  • 打赏
  • 举报
回复
换个思路,通过进程名称来互斥

110,524

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧