如何在同一个程序打开两次时使用c ++杀死一个程序?

时间:2018-05-27 16:20:09

标签: c++ windows

说,我有一个C ++程序,命名为“A.exe” 如果有人打开它两次, 该程序应该杀死它,然后作为一个单一程序运行。

规则:它应该被该程序杀死(不能使用任何其他程序)。

我的问题是 如果我使用

system("taskkill /im A.exe /t");

但它也会自杀。

1 个答案:

答案 0 :(得分:4)

使用命名的互斥锁,这只能由一个线程一次保存,在程序开头创建它,如果你没有获得互斥锁,那是因为你的程序已经运行了另一个副本(并拥有互斥锁),然后您可以安全地终止程序(无需调用任何外部程序,依赖于查找特定文件名等)