Originally posted by Sorensen
This should be in the Windows forum. Try placing

#define _WIN32_WINNT 0x0500

in the file, before you include windows.h.
That wont do the job if he/she has an older version of the SDK....

There is a work around that involves getting a pointer to the API function at runtime yourself. Also you must declare all the macros as well as your heders will not have them declared

Try this for size

Code:
#include <windows.h>

/* Declare Macros*/
#ifndef WS_EX_LAYERED
#define WS_EX_LAYERED           0x00080000
#define LWA_COLORKEY            0x00000001
#define LWA_ALPHA               0x00000002
#endif 

/*typedef a pointer to the API function*/
typedef BOOL (WINAPI *lpfnSetLayeredWindowAttributes)(HWND hWnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);

lpfnSetLayeredWindowAttributes m_pSetLayeredWindowAttributes;



LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM);

char szClassName[] = "WindowsApp";
HINSTANCE g_hInst;


int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)

{
    HWND hwnd;               
	MSG messages;            
	WNDCLASSEX wincl; 

            /*Load dll that holds the API func*/
	HMODULE hUser32 = GetModuleHandle("USER32.DLL");
	
            /*Grab pointer to API*/
            m_pSetLayeredWindowAttributes = (lpfnSetLayeredWindowAttributes)GetProcAddress(hUser32, "SetLayeredWindowAttributes");


	if (NULL == m_pSetLayeredWindowAttributes)
	MessageBox(NULL,"Error!","",MB_OK);
            return 1;

	g_hInst = hThisInstance;

    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProc;      
    wincl.style = CS_DBLCLKS;               
    wincl.cbSize = sizeof(WNDCLASSEX);
    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;
    wincl.cbClsExtra = 0; 
    wincl.cbWndExtra = 0; 
	wincl.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH);

    
    if(!RegisterClassEx(&wincl)) return 0;

   
    hwnd = CreateWindowEx(0,szClassName, "Windows App",
		WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,
		CW_USEDEFAULT,CW_USEDEFAULT, HWND_DESKTOP,NULL,            
           hThisInstance,NULL );    

   
    ShowWindow(hwnd, nFunsterStil);
	UpdateWindow(hwnd);
   
    while(GetMessage(&messages, NULL, 0, 0))
    {
          TranslateMessage(&messages);
          DispatchMessage(&messages);
    }

    return messages.wParam;
}


LRESULT CALLBACK WindowProc(HWND hwnd, UINT message, 
							WPARAM wParam, LPARAM lParam)
{
    switch (message)                
    {
           case WM_CREATE: 
			SetWindowLong(hwnd, GWL_EXSTYLE,
				GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);
                                    /*Use pointer to function*/
			m_pSetLayeredWindowAttributes(hwnd, 0, 
				(255 * 70) / 100, LWA_ALPHA);
           
           break;
           
           case WM_PAINT:
           
           break;
           
           case WM_DESTROY:
           PostQuitMessage(0);        
           break;
           default:                   
           return DefWindowProc(hwnd, message, wParam, lParam);
    }
    return 0;
}