2010-11-30 96 views
2

殼牌執行具有以下特徵:爲什麼我們需要傳遞LPCTSTR lpParameters與ShellExecute的

HINSTANCE ShellExecute(
    __in_opt HWND hwnd, 
    __in_opt LPCTSTR lpOperation, 
    __in  LPCTSTR lpFile, 
    __in_opt LPCTSTR lpParameters, 
    __in_opt LPCTSTR lpDirectory, 
    __in  INT nShowCmd 
); 

我們如何使用lpParameters,我們可以處理我的應用程序的參數。我下面執行我的應用程序:

HINSTANCE hShellExecuteStatus = ShellExecute(NULL, "open", "MyPath/MyApp.EXE", NULL, NULL, SW_SHOWNORMAL); 

我可以通過什麼的第四個參數即:lpParameters,這樣我就可以用MYAPP.EXE解決這個問題,讓我們說,如果我傳遞「喜:在第4 PARAM:

HINSTANCE hShellExecuteStatus = ShellExecute(NULL, "open", "MyPath/MyApp.EXE", "Hi", NULL, SW_SHOWNORMAL); 

我可以檢查我的應用程序不管是喜並顯示一條消息高

我試着用PostMessage的,但與ShellExecute的有益

回答

2

lpParameters將通過命令行。使用GetCommandLine()來查看它。

+0

我可以只從ShellExecute傳遞參數,GetCommandLine返回路徑和參數 – Simsons 2010-11-30 12:49:15