我一直在使用CreateProcess Win API,我想知道使用lpApplicationName和lpCommandLine作爲參數v.s的區別是什麼。只是lpCommandLine參數。CreateProcess - lpApplicationName vs lpCommandLine
例如:
CreateProcess(NULL, L"C:\Path\To\Notepad.exe", L"C:\Path\To\File\To\Load.txt"... etc
CreateProcess(NULL, NULL, L"C:\Path\To\Notepad.exe C:\Path\To\File\To\Load.txt"... etc
我假定第二選項,其中僅lpCommandLine用於將像開放的cmd.exe和運行確切的行。但是第一行呢,是加載應用程序並以不同的方式指定命令行參數?
我已經看過API的MSDN文檔,但它似乎並沒有真正詳細說明發生了什麼,那些參數可以包含哪些內容,這很好,但我只是對我應該做的事感到困惑在有多種方式的時候做。
請注意,我知道兩個示例行可能無法正常工作,因爲lpCommandLine需要LPTSTR而不是LPCTSTR。它只是爲了便於理解。
非常感謝您的幫助!
Andy
什麼讓你說MSDN沒有詳細解釋發生了什麼上?它幾乎沒有更多的細節。用三個詞來說,lpApplicationName或多或少的確實是你所要求的,而不是更多,而lpCommandLine增加了很多解釋和魔法(附加擴展,搜索PATH等)。而且,就像約翰說的那樣,通常最好的方法是使用兩者。 – Damon 2011-04-18 17:52:17
好吧,也許有一些細節,我不明白/第一次錯過,但它仍然感覺有點模糊。 – Andy 2011-04-19 07:41:54