我发现在Windows中运行的程序的命令行参数存储在Process Environment块中。我发现在PEB内部有一个名为RTL_USER_PROCESS_PARAMETERS的结构,它包含一个名为UNICODE_STRING CommandLine的成员变量; 我可以通过编写c代码来访问此变量吗?请协助 有关PEB的更多信息,请参阅此链接 http://msdn.microsoft.com/en-us/library/aa813706%28VS.85%29.aspx
答案 0 :(得分:2)
您需要GetCommandLine
功能。即使您的程序是ANSI,您仍然可以显式调用宽版本GetCommandLineW
。
此功能为documented on MSDN。查看“要求”部分,您会看到它已在WinBase.h
中定义,但您应该包含Windows.h
。它仅从Windows XP开始提供,因此根据您使用的SDK版本,您可能需要首先定义_WIN32_WINNT
:
#define _WIN32_WINNT 0x0502
#include <windows.h>