Windows 程序设计2:第一个Windows实例程序
文章目录
- 前言
- 一、新建项目
- 二、调用Windows API函数示例
- 1.MessageBox 函数API
- 总结
前言
Windows 程序设计2:第一个Windows实例程序。
一、新建项目
点击文件->新建->项目
选择Windows桌面向导,这就是vs之前版本对应的Win32应用程序
选择桌面应用程序,且为了演示方便选择空项目
至此,项目建立完毕。在解决方案资源管理器中可以看到该项目包含的一些文件,由于新建的为空项目,这里目前没有文件。
如果没有自动出现解决方案资源管理器,则点击视图下的解决方案资源管理器即可
右键工程,点击添加->新建项
先添加一个FirstApp.cpp源文件
添加之后,源文件就加入到工程项目当中
此时进行编译,点击生成下的生成解决方案
会出现报错
这是由于目前的空项目缺少Windows编程的入口点函数WinMain()
// 前两个参数用的不多,后两个参数用的较多,
//第一个参数为当前程序的实例句柄;第二个参数为上一个程序的实例句柄;第三个参数为命令行参数(LPTSTR字符串类型);第四个参数为显示方式
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, char* lpCmdLine, int nShowCmd)
{
return 0;
}
此时编译是有问题的,
下面进行解决.出现报错的原因是程序找不到一些类型的定义,这是由于我们建立的是Windows程序,缺少了一些头文件的包含,
#include<windows.h>
// 前两个参数用的不多,后两个参数用的较多,
//第一个参数为当前程序的实例句柄;第二个参数为上一个程序的实例句柄;第三个参数为命令行参数(LPTSTR字符串类型);第四个参数为显示方式
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, char* lpCmdLine, int nShowCmd)
{
return 0;
}
此时编译成功
这里需要注意一点:微软的字符集有两种,见下图。一种为多字节的,一种是Unicode宽字节的。简单理解使用多字节的在中文系统上显示中文字符没有问题,但是在日文等系统上显示日文等字符会乱码。因此微软建议使用Unicode编码方式。
因此,我们将上述的WinMain函数进行一些修改,改为更加通用的类型
#include<windows.h>
#include<tchar.h>
// 前两个参数用的不多,后两个参数用的较多,
//第一个参数为当前程序的实例句柄;第二个参数为上一个程序的实例句柄;第三个参数为命令行参数(字符串类型);第四个参数为显示方式
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPTSTR lpCmdLine, int nShowCmd) // 通用字节类型的入口点函数
{
return 0;
}
二、调用Windows API函数示例
1.MessageBox 函数API
MessageBox 函数为提示框函数,具体使用如下
#include<windows.h>
#include<tchar.h>
// 前两个参数用的不多,后两个参数用的较多,
//第一个参数为当前程序的实例句柄;第二个参数为上一个程序的实例句柄;第三个参数为命令行参数(字符串类型);第四个参数为显示方式
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPTSTR lpCmdLine, int nShowCmd) // 通用字节类型的入口点函数
{
MessageBox(NULL, _T("提示文本"), _T("标题"), MB_OK);// 第一个参数为窗口句柄(没有创建窗口传递NULL即可);第二个参数为字符串,即提示的文本;第三个参数为字符串,即提示框的标题;第四个参数为提示框上的按钮
return 0;
}
编译运行后结果为
总结
Windows 程序设计2:第一个Windows实例程序。