XP系统
在VC上说函数未定义
SetLayeredWindowAttributes
加了
#include <windows.h>
#include <Winuser.h>
#include   "stdafx.h"  
都不灵也连接uesr32.lib了
还有人说要更新SDK 但是我找了半天也没找到资源大家能告诉我现在该怎么办么

解决方案 »

  1.   

    typedef
    BOOL
    (WINAPI *PFN_SETLAYEREDWINDOWATTRIBUTES)(
        HWND hwnd,
        COLORREF crKey,
        BYTE bAlpha,
        DWORD dwFlags);PFN_SETLAYEREDWINDOWATTRIBUTES SetLayeredWindowAttributes = NULL;HMODULE m_hUser32 = LoadLibrary(_T("User32.dll"));
    SetLayeredWindowAttributes = (PFN_SETLAYEREDWINDOWATTRIBUTES)GetProcAddress(m_hUser32, "SetLayeredWindowAttributes");
      

  2.   

    1楼已经很明确的回答了你的问题了,那是因为不是你的XP问题,是你的开发环境的SDK库问题,如果你想直接调用,需要更新SDK到相应的版本,也可以使用动态寻取的方式,就是1楼说的了。typedef 
    BOOL 
    (WINAPI *PFN_SETLAYEREDWINDOWATTRIBUTES)( 
        HWND hwnd, 
        COLORREF crKey, 
        BYTE bAlpha, 
        DWORD dwFlags); PFN_SETLAYEREDWINDOWATTRIBUTES SetLayeredWindowAttributes = NULL; //在适当的位置(如Create,Initial()等函数 调用
    HMODULE m_hUser32 = LoadLibrary(_T("User32.dll")); 
    SetLayeredWindowAttributes = (PFN_SETLAYEREDWINDOWATTRIBUTES)GetProcAddress(m_hUser32, "SetLayeredWindowAttributes"); 这样这个函数就可用了。但是要有运行效果,还需要修改窗体的属性(在适当的位置调用吧):

    // 设置分层扩展标记
    #define WS_EX_LAYERED 0x00080000
    SetWindowLong( m_hWnd, GWL_EXSTYLE, GetWindowLong(GetSafeHwnd(), GWL_EXSTYLE) | WS_EX_LAYERED);
      

  3.   


    #define WS_EX_LAYERED 0x00080000 
    #define LWA_COLORKEY 1 // Use color as the transparency color.
    #define LWA_ALPHA    2 // Use bAlpha to determine the opacity of the layerVC6的话加上这些