GetCommandLine

https://msdn.microsoft.com/ja-jp/library/ms633559.aspx

現在のプロセスのコマンドライン文字列へのポインタを取得します。

LPTSTR GetCommandLine(VOID);

パラメータ

パラメータはありません。

戻り値

現在のプロセスのコマンドライン文字列へのポインタが返ります。

解説

C 言語で作成された ANSI のコンソールプロセスは、main 関数の argc argv の各引数を使って、コマンドライン引数にアクセスできます。ANSI の GUI アプリケーションは、WinMain 関数の lpCmdLine パラメータを使って、プログラム名を除く、コマンドライン文字列にアクセスすることもできます。main WinMain の各関数が Unicode 文字列を扱えないのは、argcargvlpCmdLine の各引数が LPSTR データ型ではなく、LPTSTR データ型と定義されているからです。一方、GetCommandLine 関数は LPTSTR データ型を使うので、Unicode 文字列へもアクセスできます。

コマンドラインを argv 形式の文字型配列へ変換するには、CommandLineToArgvW 関数を使ってください。

注意  オペレーティングシステムがプロセスに提供するコマンドラインの中の実行可能ファイル名は、必ずしも、呼び出し側プロセスが CreateProcess 関数を呼び出す際に指定した実行可能ファイル名と一致しているとは限りません。完全修飾パスを指定せずに実行可能ファイル名を CreateProcess 関数に渡した場合、オペレーティングシステムはそのファイル名に完全修飾パスを追加することがあります。

対応情報

Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダー:Winbase.h 内で宣言、Windows.h をインクルード
インポートライブラリ:Kernel32.lib を使用
Unicode:すべてのプラットフォームで Unicode 版と ANSI 版を実装

参照

CommandLineToArgvW, CreateProcess,

表示: