MFC第一个程序

//2019.03.29

#include<windows.h>

int WINAPI WinMain(
	 HINSTANCE hInstance,//应用程序当前实例的句柄。
	 HINSTANCE hPrevInstance//应用程序的前一个实例的句柄。这个参数总是NULL
	,  LPSTR lpCmdLine,//应用程序的命令行,不包括程序名。要检索整个命令行,请使用GetCommandLine函数
	int nShowCmd//控件如何显示窗口。
)
{
	HWND hw = FindWindow(NULL,"MFC 问题.rtf");
	
	MessageBox(NULL, "显示内容", "标题:", 1 | MB_ICONQUESTION);//或符号
	//讲的是 上四位(图标)和下四位(按钮)  MB是messagebox的简写
		//windows下的printf      1
	int nR = MessageBox(NULL, "请点击", "测试", 1);//返回值为int
	switch (nR)
	{
	default:MessageBox(NULL, "你点的是确认)","s",0);
		break;
	}
	
	return 0;
}

/*HINSTANCE 是“句柄型”数据类型。相当于装入到了内存的资源的ID。代表一个内核对象,只不过这个内核对象是一个正在运行着的程序*/

那么什么是句柄?用户调用API函数创建内核对象成功之后,函数为用户返回的既不是该结构实例本身,也不是其指针,而是Windows操作系统为这个内核对象所编制的一个4字节的整数临时编号,而这个编号也仅在本应用程序中有效。为了程序的可读性,并根据这个编号的用途,Windows为这种存放了内核对象临时编号的整型数据变量定义了一个别名:“句柄(Handle)”

                                                                   常用的句柄类型

Handle 是代表系统的内核对象,如文件句柄,线程句柄,进程句柄。

HMODULE 是代表应用程序载入的模块,win32系统下通常是被载入模块的线性地址

HINSTANCE 在win32下与HMODULE是相同的东西,在Win32下还存在主要是因为win16

程序使用HINSTANCE来区别task。

HWND 是窗口句柄

猜你喜欢

转载自blog.csdn.net/yonggandess/article/details/88895238