一段使窗口透明的代码(仅适用于2000)
发表于:2007-07-01来源:作者:点击数:
标签:
BOOL SetTransparent(HWND hWnd) { HMODULE hModule =GetModuleHandle(User32.DLL); if(hModule == NULL) { return FALSE; } typedef BOOL (WINAPI* SETLAYEREDWND)( HWND, COLORREF, BYTE, DWORD); SETLAYEREDWND SetLayeredWindowPtr = NULL; SetLayeredWi
BOOL SetTransparent(HWND hWnd)
{
HMODULE hModule =GetModuleHandle("User32.DLL");
if(hModule == NULL)
{
return FALSE;
}
typedef BOOL (WINAPI* SETLAYEREDWND)( HWND, COLORREF, BYTE, DWORD);
SETLAYEREDWND SetLayeredWindowPtr = NULL;
SetLayeredWindowPtr = (SETLAYEREDWND)GetProcAddress(hModule, "SetLayeredWindowAttributes");
if(SetLayeredWindowPtr)
{
LONG lStyle = GetWindowLong(hWnd, GWL_EXSTYLE) | 0x00080000;
SetWindowLong( hWnd, GWL_EXSTYLE, lStyle);
SetLayeredWindowPtr( hWnd,
RGB(0, 0, 0),
BYTE((255 * 70) / 100),
2);
}
}
原文转自:http://www.ltesting.net