2012-05-09 186 views
0

qtの(現在、このアプリケーションが実行されている)プロセス名を取得するには?qtでプロセス名を取得するには?

+1

「プロセス名」を定義します。実行ファイルのファイル名を意味しますか? –

答えて

5

実行可能ファイルの名前を取得したい場合(つまり、通常argv[0]に保たれた文字列)、あなたはかもしれませんQCoreApplication::arguments()の最初の要素を読み取ってください。 Unixでは

、あなたはQ(Core)Application正しく初期化する場合は、この唯一の作品:

int main(int argc, char* argv[]) 
{ 
    QApplication app(argc, argv); 
    //... 
    return app.exec(); 
} 

編集:実は、実行可能ファイルのフルパスを取得するためにQCoreApplication::applicationFilePath()を呼び出すために良いかもしれないが。フルパスを指定すると、QFileInfo::fileName()を使用して実行ファイルの名前を簡単に取得できます。

+2

QFileInfo(QCoreApplication :: applicationFilePath()).fileName()実行可能ファイルのファイル名。 –

+0

@フランク:ありがとう、私はそれを私の答えに加えました。 – Job

+0

この方法は、あなたが書いたアプリケーションで動作する可能性があります。しかし、[実行中にプロセスが名前を変更する可能性がある](https://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=66443&lngWId=1)、そうではないにもかかわらずお勧めします。したがって、実行可能ファイル名に頼っているのがベスト・アイデアではないかもしれません。職種のネイティブAPIを信頼することが最善です。 – karlphillip

関連する問題