2011-04-27 51 views
0

我有一个应用程序,通常会由另一个应用程序产生。 UI和行为会有所不同,具体取决于所述应用程序是由用户直接打开还是衍生出来。我如何确定它是由用户启动还是产生?关于一个进程和产生它的进程(win32/C)

我有几个想法,但他们似乎并不可行。

  1. 如果有通过CreateProcess的发送额外的应用程序特定的特性参数的方式(),这将是简单的,但我无法找到如何做到这一点。

  2. 如果我可以找到父进程的句柄,我可以确定它是否产生,但我看不到如何做到这一点。

请帮忙!

+0

的可能重复[Win32进程如何获得其父的PID?(http://stackoverflow.com/questions/185254/how-can-a-win32-process-get-the- pid-of-parent) – unwind 2011-04-27 11:47:41

+0

不是重复的,因为有比找到父进程更好的解决方案。 – interjay 2011-04-27 11:52:31

回答

1

如果有通过CreateProcess的发送额外 应用特定PARAM的方式()

所以,你必须调用的应用程序的控制权?如果确实这是命令行的用途?

CreateProcess(NULL, "C:\\app.exe /launched_by_app2" ...) 
+0

我认为你应该重复程序名称作为CreateProcess中的第一个命令行参数。 – interjay 2011-04-27 11:51:54