掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
特定のアプリが起動中かどうか調べるには? (ID:63262)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
時間がすごく空いてしまいました。 コンパイルエラーをとるのに時間がかかってしまいました。 リンクの問題についてネットで調べましたが解決方法が見つからないの ですがどうしたらよろしいでしょうか。 #include "stdafx.h" #include "実験んん.h" #include <windows.h> #include "psapi.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // 唯一のアプリケーション オブジェクトです。 CWinApp theApp; using namespace std; int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; // MFC を初期化して、エラーの場合は結果を印刷します。 if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) { // TODO: 必要に応じてエラー コードを変更してください。 _tprintf(_T("致命的なエラー : MFC の初期化ができませんでした。\n")); nRetCode = 1; } else { // TODO: アプリケーションの動作を記述するコードをここに挿入してください。 DWORD ProcessArray[1024]; DWORD Needed; DWORD ProcessNum; char szProcessName[MAX_PATH] = "unknown"; // PSAPI.DLL ライブラリをロード HINSTANCE hInstLib = LoadLibrary("PSAPI.DLL"); if ( hInstLib == NULL ) { return FALSE ; } if(! ::EnumProcesses(ProcessArray, sizeof(ProcessArray), &Needed) ) { return 0; } ProcessNum = Needed / sizeof(DWORD); for(int i = 0; i < ProcessNum; ++i) { HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, ProcessArray[i]); if (NULL != hProcess ) { HMODULE hMod; DWORD cbNeeded; if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), &cbNeeded) ) { GetModuleFileNameEx( hProcess, hMod, szProcessName,sizeof(szProcessName) ); } else continue; } else continue; printf( "%s (Process ID: %u)\n", szProcessName, ProcessArray[i] ); CloseHandle( hProcess ); } getchar(); return 0; } } コンパイル結果 c:\Documents and Settings\Owner\My Documents\Visual Studio Projects\実験んん\実験んん.cpp(50): warning C4018: '<' : signed と unsigned の数値を比較しようとしました。 実験んん error LNK2019: 未解決の外部シンボル _GetModuleFileNameExA@16 が関数 _main で参照されました。 実験んん error LNK2019: 未解決の外部シンボル _EnumProcessModules@16 が関数 _main で参照されました。 実験んん error LNK2019: 未解決の外部シンボル _EnumProcesses@12 が関数 _main で参照されました。 実験んん fatal error LNK1120: 外部参照 3 が未解決です。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.