入口函数WinMain详解

类似于C程序的main函数,Win32应用程序也有一个入口函数WinMain,该函数被系统自动调用

函数原型:

int WINAPI WinMain(

    HINSTANCE hInstance,     //应用程序当前实例的句柄

    HINSTANCE hPrevInstance, //应用程序的先前实例的句柄。同一个程序打开两次,出现两个窗口,

                第一次打开的窗口就是先前实例的窗口。

                对于一个32位程序,该参数总为NULL

    LPSTR lpCmdLine,         //命令行的字符串的指针

    int nCmdShow             //窗口显示方式、默认为SW_SHOWDEFAULT

    ){


}

示例:

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ 
	
	MessageBox(NULL, L"第一个win32程序", L"消息", MB_OK);
	
	return 0;
}

扩展阅读:

奇怪的字符:

符号原型说明
WINAPI#define WINAPI      __stdcall标准调用约定、_stdcall是专门用来调用Win API的
HINSTANCE
一个结构体类型指针
LPSTR
字符串的指针  即 char* 类型
HANFLEtypedef void * HANDLE;就是一个人void类型的指针

应用程序实例句柄:

WinMain函数的第一个参数hInstance就是可执行文件的实例句柄,实际上是个内存地址,它指出系统在何处把EXE文件装载入进程的地址空间!


在Windows应用程序中,总需要加载应用程序文件(exe)到系统内存里,为了标识每个文件

在内存的区别,Windows使用了句柄来标识这些文件。比如在一个应用程序里,有一个可执行文

件(EXE)和多个动态连接库文件(DLL),这时可以标识可执行文件为Ox1D000000,动态连接

库文件为Ox1D001000。这里的值只是举例,当系统运行应用程序时,就会分配实际的值给应用程

序。加载到进程地址空间的每一个可执行文件或是DLL文件都被赋予了一个唯一的实例句柄,在调

用装入资源的时候需要该句柄值!


我们可以通过下面这个函数来获取调用进程中某个模块的基地址:

HMODULE GetModuleHandle( PCTSTRlpModuleName);

功能:获取一个特定的应用程序或动态链接库的模块句柄,且这个模块必须已经被加载到调用者的

进程空间中,参数传NULL将返回自身应用程序句柄!


相关推荐

c++ char与Wchar_t的区别 WindoWsaPi函数后面带aW的区别

C++基本数据类型中表示字符的有两种: char、wchar_t。char叫多字节字符,一个char占1个字节,之所以叫多字节字符是因为它表示一个英文字符时是一个字节,而中文字符时是多个字节。wcha

WindoWs 无法安装到这个磁盘 WindoWs需要设备 标准nvm express 控制器的驱动 请单击加载驱动程序 然后加载所需要的驱动程序

windows 无法安装到这个磁盘 windows需要设备 标准nvm express 控制器的驱动 请单击加载驱动程序 然后加载所需要的驱动程序

法管理器(imm函数大全(WindoWs cE 5.0)

imm好像要被弃用了 还是研究 TSF输入法 吧 ,虽然没啥鸟用了 但是还是搬运一下下吧EnumRegisterWordProc此函数是与一起使用的应用程序定义的回调函数ImmEnumRegister

vmWare12虚拟机安装WindoWs server 2003系统教

WindoWs aPi数据类型的命名规律 与常WindoWs 数据类型

WindowsAPI数据类型的命名规律基本数据来袭包括:BYTE 字节CHAR 字符WORD 单字SHORT 短整型INT 整型指针的类型命名方式一般都在对象名前面加 LP 或者 P /*字

WindoWs消息的分类与介绍

Windows消息分为三大类标准消息:所有WM_开头的消息 WM_COMMAND除外命令消息:来自菜单,工具条按钮或者加速键(快捷键)的消息,以WM_COMMAND呈现通告消息:由控件产生的消息 例如

WindoWs F1到F10分别是什么的快捷键 奇淫技巧快捷键

F1:帮助功能。在windows系统中,在程序中或者资源管理器中按下F1,一般都会出现帮助界面,还有一个小技巧,假如正在对某个程序进行操作,需要查看系统帮助,可以同时按win加F1。F2:重命名功能。

WindoWs资源文件.rc文件

Windows应用程序中,图标、菜单、位图、工具条、对话框等是以资源的形式存在的。在win32编程中,为方便项目中的资源统一管理,提供了一个格式统一的资源文件,对各种资源进行管理。资源文件的扩展名是.

WindoWs控件之 富文本编辑器控件

富文本编辑控件不仅能输入,编辑,打印和保存文本,还可以设置文本、段落格式等,并可包含嵌入式组件对象模型(COM)对象。富文本编辑控件支持几乎所有用于多行编辑控件的消息和通知代码,因此已使用编辑控件的应

WindoWs aPi获取当前进内存使情况 内存占有率 PPRocEss_mEmoRY_coUnTERs

易语言 可以直接使用精易模块 进程_内存使用 (, )API:BOOL GetProcessMemoryInfo( HANDLE Process, PPROCESS_MEMO