用C++如何调用Windows API啊?
老大突然让用C++实现一下双屏幕的显示功能,以前没用过C++,对C++调用windowsAPI完全没概念,看了MSDN知道API是干嘛的,但是不知道怎么用到程序里去,求帮...
老大突然让用C++实现一下双屏幕的显示功能,以前没用过C++,对C++调用windows API完全没概念,看了MSDN知道API是干嘛的,但是不知道怎么用到程序里去,求帮助。。。
展开
2个回答
展开全部
这个是用windows API写程序的基本框架
这只是一个最框架,因为不了解你的功能的详细情况,所以剩下的就由你自己去填写与扩充
#include <Windows.h>
#include <iostream>
using namespace std;
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
int WINAPI WinMain(
HINSTANCE hInst, //应用程序的当前句柄实例
HINSTANCE prevhInst, //应用程序的先前句柄实例
LPSTR cmdLine, //指向应用命令行的指针
int show) //窗口显示方式,该参数可以是下列值之一:
// SW_HIDE:隐藏窗口并且激活另外一个窗口。
// SW_MINIMIZE:最小化指定的窗口,并且激活在系统表中的顶层窗口。
// SW_RESTORE:激活并显示窗口。如果窗口已经最小化或最大化,系统将以恢复到原来的尺寸和位置显示窗口(与SW_SHOWNORMAL相同)。
// SW_SHOW:激活一个窗口并以原来的尺寸和位置显示窗口。
// SW_SHOWMAXIMIZED:激活窗口并且将其最大化。
// SW_SHOWMINIMIZED:激活窗口并将其最小化(以图标显示)。
// SW_SHOWMINNOACTIVE:将一个窗口显示为图标。激活窗口维持活动状态。
// SW_SHOWNA:以窗口的当前状态显示窗口。激活窗口保持活动状态。
// SW_SHOWNOACTIVATE:以窗口的最近一次的尺寸和位置显示窗口。激活窗口维持激活状态。
// SW_SHOWNORMAL:激活并显示窗口。如果窗口最大化或最小化,系统将其恢复到原来的尺寸和位置(与SW_RESTORE相同)
{
CoInitialize(NULL);
MSG msg = {0}; //创建并初始化msg
while(msg.message != WM_QUIT)
{
if(PeekMessage(&msg,0,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
}
}
CoUninitialize();
return 0;
}
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch(message)
{
case WM_INITDIALOG:
break;
case WM_COMMAND:
break;
case WM_LBUTTONDOWN:
break;
case WM_MOUSEMOVE:
break;
case WM_LBUTTONUP:
break;
case WM_PAINT:
break;
case WM_CLOSE:
break;
case WM_DESTROY:
break;
case WM_QUIT:
break;
}
return 0;
}
这只是一个最框架,因为不了解你的功能的详细情况,所以剩下的就由你自己去填写与扩充
#include <Windows.h>
#include <iostream>
using namespace std;
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
int WINAPI WinMain(
HINSTANCE hInst, //应用程序的当前句柄实例
HINSTANCE prevhInst, //应用程序的先前句柄实例
LPSTR cmdLine, //指向应用命令行的指针
int show) //窗口显示方式,该参数可以是下列值之一:
// SW_HIDE:隐藏窗口并且激活另外一个窗口。
// SW_MINIMIZE:最小化指定的窗口,并且激活在系统表中的顶层窗口。
// SW_RESTORE:激活并显示窗口。如果窗口已经最小化或最大化,系统将以恢复到原来的尺寸和位置显示窗口(与SW_SHOWNORMAL相同)。
// SW_SHOW:激活一个窗口并以原来的尺寸和位置显示窗口。
// SW_SHOWMAXIMIZED:激活窗口并且将其最大化。
// SW_SHOWMINIMIZED:激活窗口并将其最小化(以图标显示)。
// SW_SHOWMINNOACTIVE:将一个窗口显示为图标。激活窗口维持活动状态。
// SW_SHOWNA:以窗口的当前状态显示窗口。激活窗口保持活动状态。
// SW_SHOWNOACTIVATE:以窗口的最近一次的尺寸和位置显示窗口。激活窗口维持激活状态。
// SW_SHOWNORMAL:激活并显示窗口。如果窗口最大化或最小化,系统将其恢复到原来的尺寸和位置(与SW_RESTORE相同)
{
CoInitialize(NULL);
MSG msg = {0}; //创建并初始化msg
while(msg.message != WM_QUIT)
{
if(PeekMessage(&msg,0,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
}
}
CoUninitialize();
return 0;
}
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch(message)
{
case WM_INITDIALOG:
break;
case WM_COMMAND:
break;
case WM_LBUTTONDOWN:
break;
case WM_MOUSEMOVE:
break;
case WM_LBUTTONUP:
break;
case WM_PAINT:
break;
case WM_CLOSE:
break;
case WM_DESTROY:
break;
case WM_QUIT:
break;
}
return 0;
}
2016-01-24 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
c++调用windows API方法非常方便,只要在文件的开头包含了相应的头文件就可以直接调用了.下面给一个简单的例子:
#include "stdafx.h" // 这是VC自动添加的文件,没有什么用途
#include <windows.h> // 包含MessageBox函数声明的头文件
int main(int argc, char* argv[])
{
// 调用API函数MessageBox
int nSelect = ::MessageBox(NULL, "Hello, Windows XP", "Greetings", MB_OKCANCEL);
if(nSelect == IDOK)
printf(" 用户选择了“确定”按钮 \n");
else
printf(" 用户选择了“取消”按钮 \n");
return 0;
}
调用API具体步骤:
1.包含调用函数的头文件;
2.连接指定的库文件;
3.API函数前加::符号,表示全局函数.
4.在MSDN中可以找到相关API的用法。
#include "stdafx.h" // 这是VC自动添加的文件,没有什么用途
#include <windows.h> // 包含MessageBox函数声明的头文件
int main(int argc, char* argv[])
{
// 调用API函数MessageBox
int nSelect = ::MessageBox(NULL, "Hello, Windows XP", "Greetings", MB_OKCANCEL);
if(nSelect == IDOK)
printf(" 用户选择了“确定”按钮 \n");
else
printf(" 用户选择了“取消”按钮 \n");
return 0;
}
调用API具体步骤:
1.包含调用函数的头文件;
2.连接指定的库文件;
3.API函数前加::符号,表示全局函数.
4.在MSDN中可以找到相关API的用法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询