2010-03-23
ウィンドウハンドルから実行ファイル名を取得する
前書き
昨日書いたのですが、間違って消してしまったのでもう一度投稿します。
ソースは残っているのですが、そのほかに何を書いたのかは忘れました。
グーグルキャッシュにも残ってなかった。IEのキャッシュも更新しちゃった。
なので書き直します。
ソース
// // ウィンドウハンドルから、実行ファイル名を調べる。 // destのサイズが足りなくてもエラーにはならない。 // inline bool GetExeFileName( // 戻り値: 成功 true HWND hWnd, // 対象のHWND TCHAR *dest, // ファイル名の出力先(サイズはMAX_PATH+1を推奨) size_t size_including_null) // destのサイズ(NULLを含む) { // プロセスID DWORD processID = NULL; GetWindowThreadProcessId( hWnd, &processID); // プロセスハンドル HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID); if(!hProcess) return false; // モジュールハンドル HMODULE hModule = NULL; DWORD dummy = 0; if(!EnumProcessModules( hProcess, &hModule, sizeof(HMODULE), &dummy)) return false; // ファイル名(フルパス) memset( dest, 0, size_including_null); if(!GetModuleFileNameEx( hProcess, hModule, dest, size_including_null)) return false; CloseHandle( hProcess); // hModuleは自分で閉じちゃいけない return true; }
注意
トラックバック - http://d.hatena.ne.jp/yu-hr/20100323/1269356160
リンク元
- 5 http://www.google.co.jp/search?q=WM_MOUSEWHEEL&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 3 http://pipes.yahoo.com/pipes/pipe.info?_id=02db597254ec68550537866a2fca2ce6
- 3 http://www.sfc.wide.ad.jp/~irino/blog/2008/09/visual-c-2008-expressappwizwtl8.php
- 2 http://www.google.co.jp/search?hl=ja&source=hp&q=WM_MOUSEWHEEL&btnG=Google+検索&lr=&aq=f&aqi=g10&aql=&oq=&gs_rfai=
- 2 http://www.google.co.jp/search?hl=ja&source=hp&q=WM_MOUSEWHEEL&lr=&aq=f&aqi=g10&aql=&oq=&gs_rfai=
- 2 http://www.google.co.jp/search?q=WM_MOUSEWHELL&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 2 http://www.google.co.jp/search?source=ig&hl=ja&rlz=&q=VC+ディレクトリサイズ&meta=lr=lang_ja&aq=f&aqi=&aql=&oq=&gs_rfai=
- 2 http://www.google.com/search?num=50&hl=ja&lr=&ei=5JmpS62xOo6OkQXP5d2-BA&sa=X&oi=spell&resnum=0&ct=result&cd=1&ved=0CA8QBSgA&q=WM_MOUSEWHEEL&spell=1
- 1 http://74.125.153.132/search?q=cache:tJqG1ybCeoQJ:d.hatena.ne.jp/yu-hr/20081128/1227895849+wtl 2008 sp1 で使う&cd=15&hl=ja&ct=clnk&gl=jp&client=firefox-a
- 1 http://d.hatena.ne.jp/keyword/C++