请问用MFC写一上程序
里面可不可以使用Win32SDK里面的函数?
看了一些书,里面一会儿MFC,一会儿SDK的,看的晕乎乎的
请线一个准确的答案
个人认为这好像不行
但是买了一本书,封面写的是MFC,可是网络编程里面却写的又是SDK函数
winsocket API函数,有点晕了

解决方案 »

  1.   

    MFC只是用C++的类封装了SDK API,当然可以在任何地方使用SDK API
      

  2.   

    哇,真的!!
    太谢谢你啦!
    那也就是说我直接实用,也没有问题啦
    不过,MFC里创建窗口好像用得是一个类,而在SDK里面用的是一个函数,这样不会有什么错误发生吧?
    如果是这样的话,那winsocket编程也会使用到多种方法了!
    一种就是MFC
    而另一种就是SDK啦!
    唉,真是晕乎乎的,不知道MFC和SDK具体是怎么一回事?
    怎么在MFC里面也可以用SDK在SDK里面也可以用MFC的
    但是SDK和MFC里面的消息运行机制不同
    程序入口点也不同!
      

  3.   

    你只是用API函数,比如在MFC框架内,SendMessage(message, wParam, lParam)是调用的CWnd::SendMessage(),而用::SendMessage(hWnd, message, wParam, lParam)是调用的API函数。
      

  4.   

    MFC只是对api的封装,mfc最终还是调用了api,所以你自己直接调用api当然可以。
    有些api没有封装成类,当然只能直接调用api了
    有时会因程序需要,直接调用api更灵活,有时效率也高
      

  5.   

    当然可以,大多情况下,实现同样功能的MFC函数与API函数基本同名,只是API的函数参数多了个HANDLE,因为MFC类函数在上层类里面已有这个HANDLE。
      

  6.   

    一句话,
    mfc是对windows开发的封装这句话包含了所有mfc的理解:
    1.mfc是对(sdk)api的的封装,就是把那些零乱的api封装成一些类库(class),使用起来更容易和方便
    2.mfc的运行机制是对windows运行机制的封装。在sdk里,你需要自己去写wndproc函数,而在mfc中就不需要,但不是不运行这个函数,而是mfc把它封装到了内部,所以你看不到而已,当然你也可以通过另一种方式对其操作,就是通过mfc中PreSubclassWindow和PreTranslateMessage来对其操作(添加功能或者代替功能)
    3.mfc中可以使用sdk(api),而sdk中却不能使用mfc中的函数
      

  7.   

    推荐两本好书,我都看了.你看完这些书你就会很明白了,<<windows程序设计>>,<<深入浅出MFC>>
      

  8.   

    有了MFC怎么还要用SDK呢?
     SDK:software development kit 原指软件开发工具.现在已经变成一个专有的名词.凡是以windows 最基本的API函数撰写的程序我们通常称为sdk程序.
     MFC :microsoft foundation class . 这是一个建立在Windows API之上的C++类库,是对前面所说的API函数的封闭装.意图是使程序设计过程更有效率.这就是SDK和MFC之间的关系.