GetCommandLine API有問題。GetCommandLine中缺少進程名稱
它通常會返回可執行文件名稱,後跟空格和參數。正如文檔所述,第一個標記可能沒有完整的路徑來形象和等等等等等等。
我從未有過的問題到現在爲止,我所使用的CreateProcess與lpApplicationName不是NULL
如果我使用:
的CreateProcess(NULL, 「\」 C:\ MYEXE.EXE \」參數1參數2" 。 ..)
GetCommandLine按預期返回「c:\ myexe.exe param1 param2」。
但是,如果使用:
的CreateProcess( 「C:\ MYEXE.EXE」, 「參數1參數2」)
GetCommandLine僅返回 「參數1參數2」。
所以問題是,如果另一個應用程序啓動我的程序,我怎麼知道cmd行中是否給出了可執行文件的名稱?
另外,MFC啓動代碼假定cmdline中的第一個標記是可執行文件名並跳過它。但是,如果使用第二個CreateProcess api示例啓動MFC應用程序,則MFC的代碼將跳過第一個參數。
問候,毛羅。
嗨弗拉基米爾。我決定忽略像MFC一樣。 – 2010-12-21 19:09:58
這是一個糟糕的主意,除非您的應用程序需要特定的*需要由您無法修復的錯誤代碼啓動。 – 2016-05-31 23:15:27