C++ を使用して、Windows でプロセスの説明 (タスク マネージャーに表示される説明) を取得したいと考えています。
3552 次
2 に答える
5
ほとんどの場合、 API 呼び出しを使用して、プログラムのメイン ファイルのFileDesription
バージョン リソースからフィールドを取得します。そのドキュメントの例を次に示します。.exe
VerQueryValue()
次の例は、使用可能なバージョンの言語を列挙し、各言語の FileDescription 文字列値を取得する方法を示しています。
VerQueryValue を呼び出す前に、必ずGetFileVersionInfoSizeおよびGetFileVersionInfo関数を呼び出して、 pBlockバッファーを適切に初期化してください。
// Structure used to store enumerated languages and code pages. HRESULT hr; struct LANGANDCODEPAGE { WORD wLanguage; WORD wCodePage; } *lpTranslate; // Read the list of languages and code pages. VerQueryValue(pBlock, TEXT("\\VarFileInfo\\Translation"), (LPVOID*)&lpTranslate, &cbTranslate); // Read the file description for each language and code page. for( i=0; i < (cbTranslate/sizeof(struct LANGANDCODEPAGE)); i++ ) { hr = StringCchPrintf(SubBlock, 50, TEXT("\\StringFileInfo\\%04x%04x\\FileDescription"), lpTranslate[i].wLanguage, lpTranslate[i].wCodePage); if (FAILED(hr)) { // TODO: write error handler. } // Retrieve file description for language and code page "i". VerQueryValue(pBlock, SubBlock, &lpBuffer, &dwBytes); }
于 2012-08-07T10:01:12.037 に答える