Windows数据类型与API函数(MessageBox函数 和 ReadFile函数)
来源:互联网 发布:知乎搞笑回复 编辑:程序博客网 时间:2024/06/06 12:31
所有的Windows数据类型都是大写的
所有的Windows API函数 大量地使用了Windows数据类型
这里以这两个函数为例,它们的返回值和参数都大量地使用了Windows数据类型
所有的Windows API函数都有W版和A版(后面会学到)
先来看MessageBoxW函数
四个参数:
1. 表示Message窗口的所有者 , 如果填 NULL 就代表它的所有者是桌面
2. 填消息的内容,类型是 LPCWSTR
3. 填消息框的标题,类型是 LPCWSTR
4. MB_OK表示一个按钮
红色圈出的地方是自己加上去的内容
而把第一个参数设成NULL是一个不好的选择,应该把它设置成当前窗口 所以这里我们找到
//// 函数: InitInstance(HINSTANCE, int)//// 目的: 保存实例句柄并创建主窗口//// 注释: //// 在此函数中,我们在全局变量中保存实例句柄并// 创建和显示主程序窗口。//BOOL InitInstance(HINSTANCE hInstance, int nCmdShow){ HWND hWnd; hInst = hInstance; // 将实例句柄存储在全局变量中 hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
这边,把
HWND hWnd;变成全局变量,然后把 hWnd代入第一个参数 就ok啦
下面是ReadFile函数
功能是 读取文件内容
参数含义:
1. 这个文件的句柄
2. 缓存区,都出来的内容就在这里(是个字符数组) 因为不可能一次性全部都出来,我们要指定每次读多少个
3. 因为不可能一次性全部都出来,我们要指定每次读多少个
4. 实际读取的字节数
5. NULL
首先,我们要用 CreateFile去打开这个文件 这又是一个API函数
#include <stdio.h>#include <Windows.h>#define BUF_SIZE 256int main(){HANDLE hFileRead;DWORD nIn;CHAR buffer[BUF_SIZE];hFileRead = CreateFile("aaa.txt",GENERIC_READ,//表示我们去读这个文件FILE_SHARE_READ,//指定如何共享这个文件,这里是共享读NULL,//文件的安全属性,我们用NULL表示默认的安全属性OPEN_EXISTING,//代表打开已经存在的,而不是创建新的文件FILE_ATTRIBUTE_NORMAL,//文件的属性,这里是常规属性NULL);//要指定模板,这里没有模板//打开文件,得到一个句柄,而打开文件可能会出错,我们下面要检查这个句柄,如果是无效句柄,就是出错了//那么发生了什么错误,可以通过一个API函数(GatLastError),来获取错误信息if (hFileRead == INVALID_HANDLE_VALUE)//如果这个句柄是一个无效的句柄,就说明文件打开出错{printf("Cannot open file Error: %x\n", GetLastError());system("pause");return -1;}//如果没有出错,我们就可以读取这个文件while (ReadFile(hFileRead, buffer, BUF_SIZE, &nIn, NULL) && nIn > 0){printf("%s\n", buffer);}CloseHandle(hFileRead);system("pause");}
0 0
- Windows数据类型与API函数(MessageBox函数 和 ReadFile函数)
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- Windows API一日一练(54)WriteFile和ReadFile函数
- 第一个Visual C++程序—HelloWorld
- 字符串匹配算法(KMP、BM和Sunday),及Python实现
- 小白linux学习旅途---目录权限重要知识点
- Android学习UI
- Revit开发参数读取
- Windows数据类型与API函数(MessageBox函数 和 ReadFile函数)
- 宏定义、内联函数、普通函数的区别
- OC门
- 用Js的eval解析JSON中的注意点
- 测试是否安装成功caffe
- linux常用的内核镜像格式
- Java加密技术(六)——数字签名算法DSA
- javaScript
- Android6.0 蓝牙搜索不到设备原因