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