質問

私は開発コンソール-アプリケーションです。純したい変動を少な情報に基づきその応用から始まりましたcmd.exe からexplorer.exe.高校を卒業したばかりです。

役に立ちましたか?

解決

Process this_process = Process.GetCurrentProcess();
int parent_pid = 0;
using (ManagementObject MgmtObj = new ManagementObject("win32_process.handle='" + this_process.Id.ToString() + "'"))
{
    MgmtObj.Get();
    parent_pid = Convert.ToInt32(MgmtObj["ParentProcessId"]);
}
string parent_process_name = Process.GetProcessById(parent_pid).ProcessName;

他のヒント

CreateToolhelp32Snapshot機能 はProcess32Firstる方法で読み込む PROCESSENTRY32構造.構造プロパティを持ってるんの欲しい情報:

th32ParentProcessID の識別子 るプロセスにおいて作成したこ 工程(その親プロセス).

この記事ができますの使用を開始したのToolHelpSnapshot機能:

http://www.codeproject.com/KB/cs/IsApplicationRunning.aspx

課題のひとつは、ToolHelp/ManagementObject手法であること、親プロセスが既に終了した.

のGetStartupInfo Win32機能(使用PInvoke場合があります。純額相当)を埋める構造を含むウィンドウタイトル.のためのWin32コンソール-アプリケーション"app.exe"このタイトル文字列は"アプリ"開始の時期からcmdと"c:\full\path o\app.exe"開始の時期からexplorerまたはVSデバッガ).

もちろんこのhack(変更、その他のバージョン。

#define WIN32_LEAN_AND_MEAN
#include <windows.h>
int main()
{
  STARTUPINFO si;
  GetStartupInfo(&si);
  MessageBox(NULL, si.lpTitle, NULL, MB_OK);
  return 0;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top