2009年8月29日 星期六

Windows程式使用argc,argv參數

Console程式的進入點main函數的其中一個原型如下:
int main(int argc, char *argv[]);

透過argc與argv二個參數,可以用來取得程式執行時執行檔案的名稱及其執行參數。例如你下了指令:C:\>dir /b /l,argc參數會等於3表示包含檔名本身再加上二個參數,可以由argv參數取出分別為"dir", "/b"及"/l"這三個字串。

+ + +

Windows程式進入點WinMain原型為:
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR lpstrCmdLine, int nCmdShow);

假如想要像Console程式一樣能夠取得argc及argv參數,底下提供二個方法。

1,
直接使用__argc及__argv這二個全域變數即可。(如果你的程式是Unicode程式,則使用__wargv)

2,
使用Win32 API GetCommandLineWCommandLineToArgvW。(這個方法僅支援Unicode格式,同時第一個取出的參數不是執行檔名)

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...