2013-05-10 87 views
1

我在Qt中编写了一个应用程序,它由启动程序执行。如何检测用户或启动器是否启动了Qt应用程序。命令行参数是唯一的方法还是有更好的方法?停止用户直接运行程序

Qt应用程序和启动器都是由我编写的。

+0

安全要求是什么?你只是想让用户做“正确的事情”,还是你真的想要防范恶意用户? – 2013-05-11 08:22:49

+0

对于这个项目,我希望用户做正确的事情。但我想要的东西比简单的命令行参数更复杂。我喜欢使用命名互斥体的想法,就像在答案中提到的一样。 – Dave 2013-05-12 23:48:01

回答

3

很多方法。如果这是一个问题,命令行参数可能很容易被嗅探(如Process Explorer,例如)。但是,可以由子应用程序继承的已命名的互斥锁或其他一些进程间句柄将更难以欺骗。