MFC怎么调用API函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC怎么调用API函数?相关的知识,希望对你有一定的参考价值。

MFC怎么调用API函数?教材上说了2种方法,可很多人说可以直接使用。

这到底是怎么回事?你们真把我搞糊涂了!

调用方法:
::CreateWindow()
::SetWindowText()
1.对于直接调用Windows API函数,基本上所有的窗口API函数都是定义在windows.h文件中,MFC调用API函数时,只用在函数前面加两个冒号就可以了。
::CreateWindow()
::SetWindowText()
2.对于封装了API函数的MFC 来说,直接用MFC自己相关的函数就可以调用了。因为MFC封装了Windows API函数,加以扩展形成了自己的类。
这些都是MFC直接调用API函数的语法。
参考技术A 1.MFC封装了Windows API函数,加以扩展形成了自己的类,使其更加易用。
2.在编码过程中也可以直接调用Windows API函数。本回答被提问者采纳
参考技术B 楼上几位朋友说得很对,不过还请注意一点,就是加了域作用符 ::与不加在参数方面有区别,因为加了是全局的,所以在传参的时候往往需要第一个参数提供句柄,比如FindWindow()、SendMessage()等等,第一个参数都需要句柄的。有些则不要。 参考技术C 其实很简单。有些函数是全局函数,就要加全局作用域符号::。有些不是全局的,就可以直接用了。这要看函数的。 参考技术D 就像楼上说的,要具体看什么函数。当然,像我们这样都懒得去区分那些需要加全局作用域符号::,那些不用,所以最好的方法是在写MFC程序是调用api函数时都加上全局作用域符号::,那肯定没有问题了。

VC中MFC从哪里开始运行,MFC怎么调试

参考技术A 在MFC中的执行顺序是这样的,首先Windows调用WinMain函数,WinMain里面调用AfxWinMain函数,注意你的代码现在来了,AfxWinMain函数调用对应你程序的APP类(这个类是基于CWinApp的,CWinApp又是基于CWinThread的)的InitInstance函数,如果InitInstance返回TRUE,就调用CWinThread的Run函数,这个函数你可以重载,但是一般不重载。在Run函数里面是Windows的消息循环,就是Win API编程里面的那个while循环以及TranslateMessage和DipatchMessage,当然MFC弄得比较复杂,有一个PumpMessage的机制。当程序收到WM_QUIT消息之后,Run函数返回,紧接着CWinThread::ExitInstance会被调用,如果你重载了ExitInstrance则会调用你的。最后程序结束。如果InitInstance返回FALSE,那么Run函数就不会执行,直接调用ExitInstance,然后程序结束。本回答被提问者采纳

以上是关于MFC怎么调用API函数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在windows API应用程序中获取一个MFC对话框的句柄 诸大神请帮忙

怎么样学习熟练win32 api?需要掌握哪些知识点、要点?

mfc 关于Accept函数

vc6.0 动画控件怎么用API函数调用呢,我在窗口上,建立了个animantion控件,我想放一个avi视频,安照msdn

怎么在基于对话框的MFC程序中实现多线程?

Labview怎么调用Windows API函数?