初学MFC (二) WinMain函数

 WinMain函数

Windows操作系统启动一个程序时,它调用的就是WinMain函数(由插入到可执行文件中的可执行代码调用)

函数功能:该函数被系统调用,作为一个32位应用程序的入口点。

WinMainWindows程序的入口点函数 mainDOS程序的入口点函数)

WinMain函数与DOS下的main函数作用相同,当WinMain函数结束或返回时,Windows应用程序结束。

 

一个完整的Win32程序,这个程序实现的功能是创建一个窗口,并在窗口中响应键盘及鼠标的消息,程序的实现步骤为:

1.     WinMain函数的定义;

2.     创建一个窗口;

3.     进行消息循环;

4.     编写窗口过程函数;

 

WinMain函数原型:

Int  WINAPI  WinMain (         WINAPI实际就是_stdcall

    HINSTANCE  hInstance,     hInstance 应用程序当前运行的实例句柄,是一个数值

HINSTANCE  hPrevInstance,  hPrebInstance: 当前实例的前一个实例句柄。 

LPSTR       lpCmdLine,     lpCmdLine是一个以空终止的字符串,指定传递给   应用程序的命令行参数。

INT          nCmdShow      nCmdShow指明窗口如何显示。例:最大化,隐藏

);

 

WinMain函数接受4个参数,这些参数都是系统调用WinMain函数时,传递给应用程序的。

 

hInstance 应用程序当前运行的实例句柄,是一个数值。当程序在windows下运行时,它标识运行中的实例,一个应用程序可以运行多个实例,每运行一个实例,系统都分配一个句柄值,通过hInstance参数传递给WinMain函数。

 

hPrebInstance: 当前实例的前一个实例句柄。对于同一个程序打开两次,出现两个窗口第一次打开的窗口就是先前实例的窗口。对于一个32的位程序,该参数总为NULL,不再起作用。

 

lpCmdLine:是一个以空终止的字符串,指定传递给应用程序的命令行参数。例如:在D盘下有一个sunxin.txt文件,当我们用鼠标双击这个文件时将启动记事本程序(notepad.exe),此时系统会将D:/sunxin.txt作为命令行参数传递给记事本程序的WinMain函数,记事本程序在得到这个文件的全路径名后,就在窗口中显示该文件的内容。要在VC++开发环境中向应用程序传递参数,可以单击菜单【ProjectSettings】,选择“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相同)。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值