OnInitDialog()
{
......
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,
GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hInst = LoadLibraryW(L"User32.DLL");
if(hInst)
{
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL;
//取得SetLayeredWindowAttribut es函数指针
fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttribut es");
if(fun)fun(this->GetSafeHwnd(),0,128,2);
FreeLibrary(hInst);
}
......
}
{
......
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,
GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hInst = LoadLibraryW(L"User32.DLL");
if(hInst)
{
}
......
}
本文介绍如何在C++程序中使用User32.dll库的SetLayeredWindowAttributes函数来设置窗口的透明度,包括获取函数指针、设置属性及释放资源的完整流程。

1211

被折叠的 条评论
为什么被折叠?



