1

入口点如何从命令行接收参数?我查看了一个反汇编,发现它调用__getmainargs来获取参数。有没有办法“ __setmainargs”?我知道 CreateProcess 已经这样做了,但我想看看 CreateProcess 是如何做到的

4

2 回答 2

0

AFAIK 参数在内存中作为单个字符串传递,因此实际上只有一个参数 - 拆分为几个是由您的程序完成的。内核从CreateProcess()调用中接收参数,并在设置新进程时将其放置在预定义的内存位置。

但这只是我半信半疑的猜测。

于 2011-03-27T21:44:51.160 回答
0

在 Win32 级别,应用程序将GetCommandLine()在某个时间点调用以检索提供给CreateProcess()调用的命令行。没有相应SetCommandLine的调用,因此在启动新进程后,无法“更改”其命令行参数。

于 2011-03-27T21:59:12.697 回答