什么是命令行参数

时间:2024-11-11 13:22:37编辑:揭秘君

windows里边winmain中的四个参数分别是什么意思啊

int WinMain(
HINSTANCE hInstance;
HINSTANCE hPrevInstance;
LPSTR lpCmdLine;
int nCmdShow;
);

WinMain的第一个参数被称作「执行实体句柄」。在Windows程序设计中,句柄仅是一个应用程序用来识别某些东西的数字。在这种情况下,该句柄唯一地标识该程序,还需要它在其它Windows函数呼叫中作为参数。在Windows的早期版本中,当同时运行同一程序多次时,您便创建了该程序的「多个执行实体(multiple instances)」。同一应用程序的所有执行实体共享程序和只读的内存(通常是例如菜单和对话框模板的资源)。程序通过检查hPrevInstance参数就能够确定自身的其它执行实体是否正在运行。然后它可以略过一些繁杂的工作并从前面的执行实体将某些数据移到自己的数据区域。

在32位Windows版本中,该概念已被抛弃。传给WinMain的第二个参数总是NULL(定义为0)。

WinMain的第三个参数是用于执行程序的命令列。某些Windows应用程序利用它在程序启动时将文件加载内存。WinMain的第四个参数指出程序最初显示的方式,可以是正常的或者是最大化地充满整个画面,或者是最小化显示在工作列中。


c语言习题,我完全没头绪,命令行参数是什么东西啊??

void main(int argc, char *argv[])这句话中括号中的int argc,char *argv[]是可以省略的,这是就是命令行参数,argc的值就是你命令行参数的项数,你是windows环境么?windows下编译好一个程序是直接双击运行,但是你找到文件目录,可以从控制台输入文件名执行的,那么你输入在控制台的内容就叫做命令行参数,包括文件名和后面的内容,以空格隔开,比如你这个程序叫2-5.那么当你在控制台输入2-5的时候,argc就为1,当你输入2-5 file1的时候,argc就为2,现在知道为什么argc为4了吧。至于argv[],这是一个字符串数组,因为argc为4,所以定义了一个字符串数组为argv[4],有四个元素,分别为argv[0],argv[1],argv[2],argv[3],p = argv[1]。就是file1啦,puts(p+1),地址向右偏移一位,所以前面的f就不见啦


WinMain函数中的命令行参数起什么作用

LPSTR lpCmdLine 是指命令行。

如果一个文件名(路径)为
C:\Windows\Explorer.exe

创建一个快捷方式,然后目标输入:

C:\Windows\Explorer.exe C:\

lpCmdLine = "C:\"

如果输入:
C:\Windows\explorer.exe 1234567 12345

lpCmdLine = "1234567 12345"

就是这个意思。


上一篇:订票

下一篇:没有了