1.基础篇
1.WinAPI(应用程序编程接口)函数提供程序运行所需要的窗口管理、图形设备接口、内存服务等各项功能,这些函数以函数库的形式组织在一起。
2.DLL(动态链接)是用来调用Windows应用程序中的函数。
3.常用的Win32API函数
(1)hmemcpy函数:将内存中的一块数据拷贝到另一个地方。
void hmemcpy(
void _huge *hpvDest, //目的数据地址
const void _huge *hpvSource //源数据地址
long cbCopyn //数据大小(字节)
);
(2)GetWindowText函数(GetWindowTextA和GetWindowTextW):取得一个窗体的标题文字,或者一个文本控件的内容。
int GetWindowText(
HWND hWnd, //窗口或文本控制句柄
HWND hWnd, //窗口或文本控制句柄
LPTSTR lpString, //缓冲区地址
int nMaxCount //复制的最大字符数
);
(3)GetDlgItem函数:获取指定对话框的句柄。
HWND GetDlgItem(
HWND hDlg, //对话框句柄
HWND hDlg, //对话框句柄
int nIDDDlgItem //控制标识
);
(4)GwtDlgItemText函数(GetDlgItemTextA和GetDlgItemTextW):获取对话框文本。
UINT GetDlgItemText(
HWND hDlg, //对话框句柄
int nIDDlgItem, //控制标识(ID号)
LSPTSTR lpString, //文本缓冲区指针
int nMaxcount //字符缓冲区长度
);
(5)GetDlgItemInt函数:获取对话框整数值。
UINT GetDlgItemInt(
HWND hDlg, //对话框句柄
int nIDDlgItem, //控制标识
BOOL *lpTranslated //接收成功/失败指示的指针
BOOL bSigned //指定是有符号数还是无符号数
);
(6)MessageBox函数(MessageBoxA和MessageBoxW):创建和显示信息框
int MessageBox(
HWND hWnd, //父窗口句柄
LPCTSTR lpText, //消息框文本地址
LPCTSTR lpCaption, //消息框标题地址
UINT uType //消息框样式
);
5.(1)虚拟内存:它是通过映射的方法,使可用的虚拟地址达到4GB,每个应用程序可以被分配2GB的虚拟地址,剩下的2GB留给操作系统自己用。
(2)好处:简化了内存的管理,并可弥补物理内存的不足;可以防止多任务环境下各个应用程序之间的冲突。
6.在保护模式下所有的程序都有级别权限,分为4各等级(0,1,2,3),用户应用程序在Ring3级,SoftICE可以调试Ring0级.