Win32API質問箱 Build59at TECH
Win32API質問箱 Build59 - 暇つぶし2ch174:デフォルトの名無しさん
07/11/17 12:38:48
アクティブなウインドウのファイル名を取得するコードを書いてます。
ネットではぴったりのコードがなく、つなぎ合わせで
なんとかこんな感じでまとめたのですが、よくわからない
のもあって、うまく動きません。
環境はBCB WinXPです。
/*
//URLリンク(m--takahashi.com)
1) GetWindowThreadProcessId() で HWND から ProcessID を得る
2) OpenProcess() で ProcessID から hProcess を得る
3) EnumProcessModules() で hProcess から hModule を得る
4) hProcess / hModule を使って GetModuleFileNameEx() でヤッター!!
*/
DWORD dwPID;
DWORD dwProcessID = GetWindowThreadProcessId(GetForegroundWindow(), &dwPID);
DWORD ProcessIDs[1000]; /* プロセスIDの一覧 */
HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, 0, dwProcessID);

DWORD ReturnSize; /* プロセスID一覧の取得結果のサイズ */
EnumProcesses(dwProcessID, sizeof(dwProcessID), &ReturnSize);//この行は?
if(handle)
{
HMODULE hMod;
DWORD size;
char fname[MAX_PATH];
EnumProcessModules(handle, &hMod, sizeof(hMod) ,&size);
GetModuleFileNameEx(handle, hMod, fname, sizeof(fname));
CloseHandle(handle);
ShowMessage(fname);
}



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch