程序调试常用API
来源:互联网 发布:网络剧推荐 编辑:程序博客网 时间:2024/06/06 08:44
Windows程序模块包括KERNEL、USER和GDI,其中KERNEL完成内存管理、程序的装人与执行和任务调度等功能,它需要调用原MS―DOS中的文件管理、磁盘输入输出和程序执行等功能;
USER是一个程序库,它用来对声音、时钟、鼠标器及键盘输入等操作进行管理;
GDI是一功能十分丰富的子程序库,它提供了图形与文字输出、图象操作和窗口管理等各种与显示和打印有关的功能。
上述KERNEL、USER和GDI模块中的库函数可被应用程序调用,也可被其他程序模块调用。把包含库函数的模块称为输出者(export)。
这里列出几个经常碰到的Win 32 API函数,它们都是存在Windows系统核心文件KERNEL32.DLL中和视窗管理文件USER32.DLL中。
Windows函数是区分字符集的:A表示ANSI,W表示Wide,即Unicode (Wide character-set),前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。Windows的所有与字符有关的函数都提供两种方式的版本。尽管你编程时使用GetWindowText,但实际上编译程序会根据设置自动调用GetWindowTextA或GetWindowTextW。函数的最后一个字母告诉我们函数是使用单字节还是双字节字符串。
1、 Hmemcpy函数
void hmemcpy(hpvDest, hpvSource, cbCopy)
void _huge* hpvDest; // 目的数据地址
const void _huge* hpvSource; // 源数据地址
long cbCopy; // 数据大小 (Bytes)
这个函数在KERNEL32.DLL中,它很常用,俗称万能断点,但一般的编程书籍上很少提到,原因它是底层的东西,没有特殊需要,一般不直接调用。但的确它是很有用的!有意思的是它执行的操作很简单,只是将内存中的一块数据拷贝到另一个地方。
注意:此函数只在Windows 9x系统上有效,在Win NT/2K系统上相关的函数是memcpy,但在Win NT/2K上不同于Windows 9x上,很少再调用memcpy来处理数据了,用此函数设断基本上什么也拦不住。
2、 GetWindowText函数
此函数在USER32.DLL用户模块中,它的作用是复制指定窗口中的字符到缓冲区。函数原型:
int GetWindowText(
HWND hWnd//欲获取文字的那个窗口的句柄
LPTSTR lpString //预定义的一个缓冲区,至少有cch+1个字符大小;随同窗口文字载入
int nMaxCount//lpString缓冲区的长度
);
16位:GetWindowText
32位:GetWindowTextA,GetWindowTextW
3、 GetDlgItemText
此函数在USER32.DLL用户模块中,它的作用是返回对话框中某一个窗口的标题或文字。函数原型:
UINT GetDlgItemText(
HWND hDlg, // 对话框句柄
int nIDDlgItem, //控制标识符
LPTSTR lpString, / 预定义的一个字符缓冲区
int nMaxCount// 字符缓冲区的长度
);
16位:GetDlgItemText
32位:GetDlgItemTextA,GetDlgItemTextW
4、 MessageBox函数
此函数是在USER32.DLL用户模块中,它的作用创建、显示和操作信息框。函数原型:
int MessageBox(
HWND hWnd, //窗口句柄
LPCTSTR lpText, // 信息框中文字的地址
LPCTSTR lpCaption, // 信息框标题地址
UINT uType // 信息框类型
);
16位:MessageBox
32位:MessageBoxA,MessageBoxW
- 程序调试常用API
- 反调试技术常用API,用来对付检测od和自动退出程序
- 反调试技术常用API,用来对付检测od和自动退出程序
- gdb调试程序常用指令
- 常用的程序调试方法
- OD根据API下断点调试程序
- 常用的程序调试工具使用
- OD调试程序常用断点大全
- 程序调试常用的三个选项
- mac常用快捷键(偏向程序调试)
- Python常用的程序调试方法
- 小程序文档整理之 -- API(调试接口)
- 《android framework常用api源码分析》之Launcher 程序
- linux 下C/C++程序常用调试方法(gdb)
- Eclipse使用debug,logcat调试程序,和一些常用快捷键
- 常用的系统函数、自定义函数、程序调试
- 利用vs 2017 编写 C++程序常用调试工具快捷键
- eclipse:常用的10个java程序调试技巧
- usaco Chapter 3 section 3.1 Contact
- 网络命令速查手册
- Tomcat 编码(配置catalina.bat)
- ASP.NET 2.0 本地化2
- 本博客文章格式说明~
- 程序调试常用API
- 介绍一下和AspNetPager结合的不错的分页方案
- linux 内核源代码目录结构概述
- 常用的八个cmd网络命令
- C++ 八皇后实现代码
- 在div中实现垂直居中的方法
- asp.net中操作Excel全集[1]
- C# Stream流方式导入Excel,htm,txt,Doc
- 使用 AppFuse 快速构建 J2EE 应用