• 10365阅读
  • 5回复

[提问]QT如何判断一个程序是否在运行,不在就启动它 [复制链接]

上一主题 下一主题
离线mervyn
 
只看楼主 倒序阅读 楼主  发表于: 2011-01-10
如题,我的目的先说下,主要做个软件的看门狗
如果指定的程序没有运行就启动它,这个需要定时器来循环判断,我想知道QT下如何判断我指定的程序是否在运行
没运行的话就运行它。
操作系统是windows下的。搞过这些的哥哥姐姐给他参考
如果我要监视多个程序的话怎么判断,可以写配置文件吗?
可以的话该怎么处理!
麻烦大虾们给个指导思想,有代码最好!
离线mervyn
只看该作者 1楼 发表于: 2011-01-10
没人说下或者给个链接啊
怎么判断指定的程序是否在运行呢
离线dbzhang800

只看该作者 2楼 发表于: 2011-01-10
如果你的要求简单的话,是很容易的,任何进程间通讯的方式都可以:比如Qt提供的 共享内存、QLocalServer(QLocalSocket) 等。以及全局的 QSystemSemaphore 等

除此之外,windows提供的很多api 也都可以用,比如命名的内核对象等

当然,如果要求稍高的话,这个东西还是非常复杂的。你看看 QtSingleApplication 的代码就能了解了
离线mervyn
只看该作者 3楼 发表于: 2011-01-11
楼上的说法是自己才程序只运行一个
我的意思是写个程序监视其他的程序
怎么判断其他程序是否允许
离线biosxjj

只看该作者 4楼 发表于: 2011-01-11
while ...1  ***.exe
离线roywillow

只看该作者 5楼 发表于: 2011-01-13
监视其他程序啊
这个用windows的api好像也不是很难
你可以搜索一下windows下的单个程序实例的方法,应该能用在这上面
大概就是搜索所有的窗口、进程,然后判断
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个