| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1617 人关注过本帖
标题:谁能总结下WinMain()下命令行的作用?
只看楼主 加入收藏
cuihaoyun
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-11-10
结帖率:100%
收藏
 问题点数:0 回复次数:1 
谁能总结下WinMain()下命令行的作用?
int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
搜索更多相关主题的帖子: 命令 WinMain 
2009-12-01 23:52
bbk_music
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-12-24
收藏
得分:0 
函数功能:该函数被系统调用,作为一个32位应用程序的入口点。
  函数原型:
  int WINAPI WinMain(
  HINSTANCE hInstance,
  HINSTANCE hPrevInstance,
  LPSTR lpCmdLine,
  int nCmdShow
  );
  参数;
  hInstance:应用程序当前事例的句柄。
  hPrevlnstance:应用程序的先事例的句柄。对于同一个程序打开两次,出现两个窗口第一次打开的窗口就是先前实例的窗口。对于一个32的位程序,该参数总为NULL。
  如果需要检测另外一个事例是否已经存在,则使用CreateMutex函数创建一个独一无二的名字。即使互斥名已经存在,CreateMutex函数也是成功的,但是GetLastError函数将返回 ERROR_ALREADY_EXISTS,这就表明在应用程序中有另外一个事例存在,因为它首先创建了互斥名。
  lpCmdLine:指向应用程序命令行的空字符串的指针,不包括函数名。获得整个命令行,参看GetCommandLine。
  第三个参数lpCmdLine是一个以空终止的字符串,指定传递给应用程序的命令行参数。例如:在D盘下有一个sunxin.txt文件,当我们用鼠标双击这个文件时将启动记事本程序(notepad.exe),此时系统会将D:\sunxin.txt作为命令行参数传递给记事本程序的WinMain函数,记事本程序在得到这个文件的全路径名后,就在窗口中显示该文件的内容。要在VC++开发环境中向应用程序传递参数,可以单击菜单【Project】→【Settings】,选择“Debug”选项卡,在“Program arguments”编辑框中输入你想传递给应用程序的参数。
  nCmdShow:指明窗口如何显示。该参数可以是下列值之一:
  SW_HIOE:隐藏窗口并且激活另外一个窗口。
  SW_MINIMIZE:最小化指定的窗口,并且激活在系统表中的顶层窗口。
  SW_RESTORE:激活并显示窗口。如果窗口已经最小化或最大化,系统将以恢复到原来的尺寸和位置显示窗口(与SW_SHOWNORMAL相同)。
  SW_SHOW:激活一个窗口并以原来的尺寸和位置显示窗口。
  SW_SHOWMAXIMIZED:激活窗口并且将其最大化。
  SW_SHOWMINIMIZED:激活窗口并将其目标化。
  SW_SHOWMINNOACTIVE:将一个窗口显示为图标。激活窗口维持活动状态。
  SW_SHOWNA:以窗口的当前状态显示窗口。激活窗口保持活动状态。
  SW_SHOWNOACTIVATE:以窗口的最近一次的尺寸和位置显示窗口。激活窗口维持激活状态。
  SW_SHOWNORMAL:激活并显示窗口。如果窗口最大化或最小化,系统将其恢复到原来的尺寸和位置(与SW_RESTORE相同)。
  返回值:如果函数成功,当它接收到一个WM_QUIT消息时就中止,函数应该返回在该消息的wParam参数的退出值。如果函数在进入消息循环时退出,应该返回零。
  备注:WinMain函数应初始化应用程序,显示主窗口,进入一个消息接收一发送循环,这个循环是应用程序执行的其余部分的顶级控制结构。当接收到一个WM_QUIT消息时,程序就中止。这时,WinMain函数应退出应用程序,并且返回传递给WM_QUIT消息的wParam参数的值。如果由于调用PostQuitMessage函数而接收到WM_QUIT消息,wParam的值是PostQuiMessage函数的nExitCode的值。请参看“创建一个窗口循环”。
  ANSI应用程序可以使用WinMain函数的lpCmdLine参数进入命令行字符串(除了程序名之外)。WinMain不能返回Unicode字符串的原因是IpCmdLine使用的是LPSTR数据类型,而不是LPTSTR类型。GetCommandLine函数可以用于进入命令行的Unicode字符串,因为它使用的是LPTSTR类型。
  Windows CE:Windows CE不支持下列 nCmdLine参数值:
  SW_MINIMIZE;SW_RESTORE;SW_RESTORE;SW_SHOWMAXMIZED
  SW_SHOWMINIMIZED;SW_SHOWMINNOACTIVE
  速查:Windows NT:3.1以上版本;Windows:95以上版本:Windows CE:1.0以上版本;头文件:Winbase.h库文件:用户自定义。
2009-12-24 23:39
快速回复:谁能总结下WinMain()下命令行的作用?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040580 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved