C++ Win32 API 函数调试不通过 GetWindowDC

作者&投稿:卷榕 (若有异议请与网页底部的电邮联系)
c++中非静态函数不能用类名调用,为什么CWnd的成员函数GetDC()可以直接调用啊?~

在本类实例中隐藏了this
其实是this->GetDC( );

API函数的调用方法非常方便,只要在文件的开头包含了相应的头文件就可以直接调用了.下面给一个简单的例子:
#include "stdafx.h" // 这是VC自动添加的文件,没有什么用途
#include // 包含MessageBox函数声明的头文件

int main(int argc, char* argv[])
{
// 调用API函数MessageBox
int nSelect = ::MessageBox(NULL, "Hello, Windows XP", "Greetings", MB_OKCANCEL);
if(nSelect == IDOK)
printf(" 用户选择了“确定”按钮
");
else
printf(" 用户选择了“取消”按钮
");
return 0;
}
调用API具体步骤:
1.包含调用函数的头文件;
2.连接指定的库文件;
3.API函数前加::符号,表示全局函数.
4.在MSDN中可以找到相关API的用法。

语法上无大问题。
一般app程序用到:
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow){。。}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){。。。}
---
就你的程序而言,编译时要链接 User32.lib, 头文件 Winuser.h。
给你加一句#pragma 可以自动链接user32库。 例如:
#include <Windows.h>
#include <Winuser.h>
#include <iostream>
using namespace std;
#pragma comment (lib, "User32.lib")
int main(){
HWND a,b;
a = GetDesktopWindow();
b = GetWindowDC(a);
return 0;
}


新津县18414917405: 如何在Visual c++中对Win32 API进行调用 -
武卞益贝: API函数的调用方法非常方便,只要在文件的开头包含了相应的头文件就可以直接调用了.下面给一个简单的例子:#include "stdafx.h" // 这是VC自动添加的文件,没有什么用途#include <windows.h> // 包含MessageBox函数声明的头文件 int main...

新津县18414917405: C++是如何调用windows底层API 函数的 -
武卞益贝: C++调用windows底层API的方法是通过动态链接库实现的.很多windows底层API函数是存在于动态链接库的,通过调用DLL来实现调用函数的目的.底层api都在系统目录下的dll里面,c++就是通过调用这些动态库来调用底层API的.下面是通过...

新津县18414917405: 在c++中Win32 API是什么意思 -
武卞益贝: 就是系统函数,WINDOWS自己调用API,你也可以调用API.本来API是给系统使用的,但是用户也可以使用.

新津县18414917405: 很急!谢谢!c++如何调用API函数!
武卞益贝: #include <windows.h>int main(void){ MessageBox(NULL,"123","123",NULL);return 0;}显示一个对话框……够简单了吧.【如果编译不通过在两个"123"前面都加上L】 大部分是windows.h,具体的可以去MSDN上查查

新津县18414917405: 调用函数是具体过程是什么啊?就是什么保留返回地址什么的? -
武卞益贝: 看你是什么调用方式了 c/c++ 的函数调用方式是_cdecl win32 api的函数调用方式是stdcall.具体调用方式是 先按照从右至左的顺序将函数的参数压入堆栈,然后函数的下一条指令的地址入栈,即返回地址(eip),接着是用来寻址局部变量的寄...

新津县18414917405: C++能不能调入API
武卞益贝: win32API的形式就是普通的DLL. 在DLL中导出: extern "C" __declspec(dllexport) 在程序中导入: extern "C" __declspec(dllimport) 例如导入API函数 MessageBoxA extern "C" __declspec(dllimport) 那么导入代码就是(其中的__stdcall...

新津县18414917405: C语言,win32程序中,该调用哪一个win32 API函数,来打开一个文件夹窗口 -
武卞益贝: 比如messagebox()这个API函数在WINDOWS.H文件中 strlen在stdio.h文件中 简单的写一个API#include "windows.h"#include "windowsx.h" WinMain(这里有六个数) { MessageBox(NULL,"你好","编程世界",MB_YESNO); } ...

新津县18414917405: c++怎么调用api函数? -
武卞益贝: 这个有API可以的.通过使用ntdll.dll的NtQuerySystemInformation来获得cpu使用率.//定义内存的信息结构 [StructLayout(LayoutKind.Sequential)] public struct MEMORY_INFO { public uint dwLength; public uint dwMemoryLoad; //内存使用率 public...

新津县18414917405: C语言如何调用API函数 -
武卞益贝: 包含api的.h文件,然后直接调用就可以了,比如winsock.h,可以调用recv等函数,也可以在函数前面加::

新津县18414917405: windows编程如win32 应用能使用C++的函数么,,怎么用阿 -
武卞益贝: 可以用啊 #include <iostream> #include <string> using namespace std; int main(void) {string a("hello");int n=123;char str[10]; cout<<"string a= "<<a<<endl;itoa(n,str,10);cout<<str<<endl;return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网