【发布时间】:2010-07-20 17:33:12
【问题描述】:
GetCommandLine() API 有问题。
它通常返回可执行文件名,后跟一个空格和参数。正如文档所说,第一个令牌可能没有图像的完整路径和等等等等。
直到现在我在使用 lpApplicationName 不为 NULL 的 CreateProcess 时从未遇到过问题。
如果我使用:
CreateProcess(NULL, "\"c:\\myexe.exe\" param1 param2", ...)
GetCommandLine 按预期返回“c:\myexe.exe param1 param2”。
但如果我使用:
CreateProcess("C:\myexe.exe", "param1 param2")
GetCommandLine 只返回“param1 param2”。
如果另一个应用程序启动我的,我如何知道是否在命令行中给出了可执行文件名称?
此外,MFC 启动代码假定命令行上的第一个标记是可执行文件名称并跳过它。但是,如果您使用第二个 CreateProcess API 示例启动 MFC 应用程序,MFC 的代码将跳过第一个参数。
【问题讨论】:
标签: winapi createprocess