停止直接执行主应用程序并从第二个应用程序执行它?

max*_*yne 1 c++

我想要的是使用我的小型LicenseExe应用程序启动我的主应用程序.

LicenseExe将检查该系统是否已注册.

如果系统未注册,则应退出LicenseExe.如果系统已注册,则LicenseExe将调用ShellExecute或执行主应用程序exe的任何方法.

这很容易我能做到这一点.

我想要的是,我的主应用程序永远不能通过直接双击其exe文件来执行.它仅由LicenseExe应用程序执行.可能吗?

这是使我的应用程序获得许可的一种技巧.所以,请指导我.如何直接停止执行我的主应用程序并使其依赖于我的小型LicenseExe应用程序.

主应用程序只能从LicenseExe应用程序启动,而不是通过双击而不是通过命令行启动.

我在Windows 7平台下使用C++ Visual Studio 2010.

Roh*_*han 5

在主应用程序中,您可以检查已启动它的父进程.如果它不是LicenseExe那么mainapp应该退出.

参考:Win32进程如何获得其父进程的pid?

除此之外,licenseExe可以在启动时将句柄或环境变量传递给mainapp.mainapp可以验证是否存在此类信息并继续执行,否则退出.