首先介绍MessageBox函数的作用。 弹出典型的模式对话框

函数原型: intWinapimessagebox(hwndhwnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType ) ) ) ) ) ) ) ) ) )。

参数含义:

hWnd :此消息框的父窗口句柄。 如果此参数为NULL,则消息框中没有父窗口

lpText :消息框的内容

lpCaption :消息框的标题

uType :对话框按钮样式和图标按钮样式:

MB_OK :默认值,有确认按钮

MB _ okcancel :包含两个按钮:确定和取消

MB _ yesno :包含两个按钮:“是”和“否”

MB_ABORTRETRYIGNORE :有三个按钮:退出、重试和跳过

MB_YESNOCANCEL :是,不,有三个取消按钮

MB_RETRYCANCEL包含两种按钮图标样式:重试和取消。

MB _ icon信息:蓝色I

MB_ICONASTERISK :蓝色I

MB_ICONQUESTION :蓝色?

MB_ICONWARNING :黄色!

MB_ICONEXCLAMATION :黄色!

MB_ICONSTOP :红色x

MB_ICONERROR :红色x

MB_ICONHAND :红色x消息的返回值:

IDYES :单击是

IDNO :单击否

IDOK :单击以确认

IDCANCE :单击“取消”

IDABORT :单击“完成”

IDRETRY :单击以重试

id ignore :单击忽略demo :

# include windows.hintwinapiwinmain (hinstance hinstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ) intchiocchiochice if (chioce=idok (消息盒) null,’ You choosed OK ‘,’ Test ‘,MB _ ok|MB _ icon inffficed }返回0; } CreateWindow函数作用:创建窗口实例! 完整的窗口程序必须首先注册窗口类,创建窗口实例,设置窗口的显示状态,最后发送重绘消息,以便在被其他窗口覆盖后不能更新

函数原型: hwnd createwindow (lpctstrlpclassname,LPCTSTR lpWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,hwnn

参数含义:

lpClassName :指定窗口类名

lpWindowName :指定标题或静态文本框中的文本

dwStyle :指定窗口样式(标题、边框、滚动条…) )。

x :相对于父窗口的横坐标

y :相对于父窗口的纵坐标

nWidth :窗口宽度

nHeight :窗口高度

hWndParent :父窗口的句柄

hMenu :在此窗口中使用的菜单的句柄类型

hlnstance :与窗口关联的模块实例的句柄

lpparam :指向创建结构的指针,传递WM_CREATE消息的重要说明:

1 .一般的窗口程序路径是注册类-创建窗口-显示窗口-更新窗口。 根据面向对象进行更好的理解,注册窗口类,然后实例化窗口,之后的showwindow用于设置属性以使窗口可见(例如

2 .因为任何控件都属于窗口,所以创建一个控件都需要CreateWindow函数,传递不同的样式表示不同的控件。 例如,静态文本、按钮按钮按钮、编辑框edit和复选框复选框复选框

3.CreateWindow向常规窗口进程发送WM_CREATE消息,对于级联、弹出窗口和子窗口,CreateWindow向窗口发送WM_CREATE、WM _ getminming

BeginPaint函数角色:当窗口收到WM_PAINT消息时,必须首先调用BeginPaint获取设备环境句柄,否则使用GetDC获取设备循环

境句柄!因为我们不能直接访问硬件,所以需要借助设备环境(Device Context)这个中间层间接访问键盘,显示器等硬件设备

函数原型:HDC BeginPaint(HWND hwnd, LPPAINTSTRUCT lpPaint)

参数含义:

hwnd:被重绘窗口的句柄
lpPaint:指向一个用来接收绘画信息的 PAINTSTRUCT结构

当得到了设备环境句柄后,我们就可以调用图形设备接口(GDI)中已经封装好的函数,诸如:TextOut,DrawText,CreateMenu,CreateBitmap,Rectangle,CreatePen等

SendMessage

函数作用:主动发送一条消息给窗口

函数原型:LRESULT SendMessage(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)

参数含义:

hWnd:目标窗口的句柄
msg:发送的消息
wParam:附加消息,某些特定的消息需要用到
lParam:附加消息,某些特定的消息需要用到 GetWindowText

函数作用:用于将指定窗口的标题文本(如果存在)拷贝到一个缓存区内,如果指定的窗口是一个控件,则拷贝控件的文本

函数原型:Int GetWindowText(HWND hWnd, LPTSTR lpString, Int nMaxCount)

参数含义:

hWnd:窗口或者控件句柄
lpString:指向接收文本的缓冲区指针
nMaxCount:最大的保存长度 SetWindowText

函数作用:用于改变指定窗口的标题栏的文本内容(如果窗口有标题栏),如果指定窗口是一个控件,则改变控件的文本内容

函数原型:BOOL SetWindowText(HWND hWnd, LPCTSTR lpString)

参数含义:

hWnd:要改变文本内容的窗口或控件的句柄
lpString:指向改变后的字符串指针 DialogBox

函数作用:从一个对话框资源中创建一个模态对话框,该函数直到指定的回调函数通过调用 EndDialog 函数中止模态的对话框才能返回控制。该函数通过调用 DialogBoxParam 实现

函数原型:int DialogBox(HINSTANCE hInstance, LPCTSTR lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc)

参数含义:

hInstance:实例句柄
lpTemplate:对话框模板名
hWndParent:指定拥有对话框的窗口
lpDialogFunc:指向对话框过程的指针 CreateDialog

函数作用:创建一个非模态对话框,需要使用 DestroyWindow 结束该对话框。该函数通过调用 CreateDialogParam 实现

函数原型:HWND CreateDialog(HINSTANCE hlnstance, LPCTSTR lpTemplate, HWND hWndParent, DLGPROC IpDialogFunc)

参数含义:

hInstance:标识该模块的可执行文件含有对话框模板
lpTemplate:对话框模板名
hWndParent:指定拥有对话框的窗口
lpDialogFunc:指向对话框过程的指针

重点说明:
当关闭非模态对话框或者窗口时,会调用DestroyWindow,这个函数先发送 WM_DESTROY 消息,接着发送 WM_NCDESTROY 消息

LoadString

函数作用:从资源里加载字符串资源到 CString 对象里,参数是资源 ID,同类型的还有LoadIcon和LoadCursor

函数原型:int WINAPI LoadStringA(HINSTANCE hInstance, UINT uID, LPSTR lpBuffer, int nBufferMax)

参数含义:

hInstance:应用程序实例句柄
uID:资源ID
lpBuffer:接收从资源里拷贝字符串出来的缓冲区
nBufferMax:指明缓冲区大小 OutputDebugString

函数作用:输出调式信息到 Debugger

函数原型:void OutputDebugString(LPCTSTR lpOutputString)

参数含义:

lpOutputString:在调试器中调试时,输出的字符串 SetWindowPos

函数作用:改变一个子窗口,弹出式窗口或顶层窗口的尺寸,位置或Z序

函数原型:WINUSERAPI BOOL WINAPI SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags)

参数含义:

hWnd:窗口句柄
hWndInsertAfter:窗口的 Z 顺序
x:指定窗口新位置的左边界
y:指定窗口新位置的顶边界
cx:以像素指定窗口的新的宽度
cy:以像素指定窗口的新的高度
uFlags:窗口尺寸和定位的标志 FindWindowEx

函数作用:在窗口列表中寻找与指定条件相符的第一个子窗口

函数原型:HWND FindWindowEx(HWND hwndParent, HWND hwndChildAfter, LPCTSTR lpszClass, LPCTSTR lpszWindow)

参数含义:

hwndParent:要查找子窗口的父窗口句柄
hwndChildAfter:子窗口句柄,查找从在Z序中的下一个子窗口开始
lpszClass:指向一个指定了类名的空结束字符串
lpszWindow:指向一个指定了窗口名(窗口标题)的空结束字符串 AnimateWindow

函数作用:该函数在显示与隐藏窗口时能产生特殊的效果,有两种类型的动画效果:滚动动画和滑动动画

函数原型:BOOL AnimateWindow(HWND hWnd, DWORD dwTime, DWORD dwFlags)

参数含义:

hWnd:指定产生动画的窗口的句柄
dwTime:指明动画持续的时间
dwFlags:指定动画类型 MoveWindow

函数作用:改变指定窗口的位置和大小

函数原型:BOOL MoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint)

参数含义:

hWnd:窗口的句柄
x:指定了CWnd的左边的新位置
y:指定了CWnd的顶部的新位置
nWidth:指定了CWnd的新宽度
nHeight:指定了CWnd的新高度
bRepaint:指定了是否要重画CWnd EnumWindows

函数作用:枚举所有屏幕上的顶层窗口,并将窗口句柄传送给定义的回调函数。FindWindow 和它类似,只找顶层窗口不找子窗口

函数原型: BOOL EnumWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam)

参数含义:

lpEnumFunc:指向一个应用程序定义的回调函数指针
lPararm:指定一个传递给回调函数的应用程序定义值

回调函数原型:BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)

IsWindow

函数作用:判断目标窗口是否存在

函数原型:BOOL IsWindow(HWND hWnd)

参数含义:

hWnd:目标窗口句柄 GetWindow

函数作用:返回与指定窗口有特定关系(如Z序或所有者)的窗口句柄

函数原型:HWND GetWindow(HWND hWnd, UNIT nCmd)

参数含义:

hWnd:窗口句柄
nCmd:说明指定窗口与要获得句柄的窗口之间的关系

重要说明:
Z 序表示窗口层叠时的顺序,Z 序越大窗口越靠前,即 Z 序小的窗口会被 Z 序大的窗口遮挡

终讲

原本草稿都写好了,打算一口气把文件操作,进程操作以及网络套接字相关 API 的常见函数及其参数都介绍一下,但是我不小心找到了落寞的白羊汉化后的 Win32API参考手册,我觉得我也不可能有这个介绍得详细了!所以之后查 API 就用这个啦,英文好的朋友还可以直接去微软官网找文档

END