加密与解密 基础知识2

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

    函数原型:int WINAPI WinMain(HINSTANCEE hlnstance,HINSTANCE hPrelnstance,LPSTR lpCmdLine,int nCmdShow);

    参数;

    hinstance:应用程序当前事例的句柄。

    hPrelnstance:应用程序的前事例的句柄。对于一个32的位程序,该参数总为NULL。

    如果需要检测另外一个事例是否已经存在,则使用CreateMutex函数创建一个独一无二的名字。即使互斥名已经存在,CreateMutex函数也是成功的,但是GetLastError函数将返回 ERROR_ALREADY_EXISTS,这就表明在应用程序中有另外一个事例存在,因为它首先创建了互斥名。

    lpCmdLine:指向应用程序命令行的空字符串的指针,不包括函数名。获得整个命令行,参看GetCommandLine。

    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

 

 

 

1,windows API编程和stdcall的约定:

  Stdcall是标准的调用的简称

#define  WINAPI   __stdcall

在c语言中是 __cdecl 

  #define WINAPIV __cdecl

他们不同是:1,调用完成后由谁清空栈

            2,参数的调用顺序(自左向右)(还是自右向左)

2,回调函数:Don’t call you. I will call you

 

 

 

3,windows 消息机制:

Windows系统有两种消息队列

1,系统消息队列

2,应用程序消息队列

当一件事件发生时候,首先事件会发生在系统消息队列中,然后把事件放到应用程序消息队列

4,

 

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值