HWND hLlk;
hLlk = FindWindow(NULL, _T("QQ游戏 - 连连看角色版"));
错误 1 error C2440: “=”: 无法从“CWnd *”转换为“HWND” d:\工程\1\1\1Dlg.cpp 94怎么办?能说说为什么吗?

解决方案 »

  1.   

    ::FindWindow
    加两个冒号试试~~
      

  2.   

    static CWnd* PASCAL FindWindow(
       LPCTSTR lpszClassName,
       LPCTSTR lpszWindowName 
    );HWND FindWindow(          LPCTSTR lpClassName,
        LPCTSTR lpWindowName
    );
    so you can:
    HWND hLlk;
        hLlk = ::FindWindow(NULL, _T("QQ游戏 - 连连看角色版"));
      

  3.   

    GetSafeHwnd();     
      

  4.   

    HWND hLlk;
        hLlk = ::FindWindow(NULL, _T("QQ游戏 - 连连看角色版"));
    有两个FindWindow,一个是API,也就是你调用的这个,一个是CWnd的成员函数,在CWnd类或是它的派生类中直接写FindWindow的话,会被当作CWnd的成员函数的,所以前面要加::,很多函数都是这样。
      

  5.   

    我听人说加::是全局函数的意思,你的意思是在VS2005里::FindWindow是直接调用Windows函数,而FindWindow的调用的是CWnd的函数?这个::号到底是什么?起什么作用?谢谢了!
      

  6.   

    用的是CWnd的函数?这个::号到底是什么?起什么作用?谢谢了!
    ==============
    这里加::表示你后面的函数用的是API
      

  7.   

    其实::是作用域标识符,表示全局作用域,反正你在用API时前面加::就行了。
      

  8.   

    CWnd::GetSafeHwnd
    This method obtains the window handle for a window. It returns NULL if the CWnd is not attached to a window or if it is used with a null CWnd pointer. HWND GetSafeHwnd( )
    const;