大家好:
现在在开发一个win32应用程序时,需要实现透明窗体,就是该窗口在其他应用程序表面时,看不到该窗体,例如在写字板上面时,看不见该窗体的任何信息,
如果使用MFC类库,则可以很容易的通过设置对话框属性来解决;
请问,采用WIN32函数如何实现该功能,谢谢
现在在开发一个win32应用程序时,需要实现透明窗体,就是该窗口在其他应用程序表面时,看不到该窗体,例如在写字板上面时,看不见该窗体的任何信息,
如果使用MFC类库,则可以很容易的通过设置对话框属性来解决;
请问,采用WIN32函数如何实现该功能,谢谢
//加入WS_EX_LAYERED扩展属性
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,
GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hInst = LoadLibrary("User32.DLL");
if(hInst)
{
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL;
//取得SetLayeredWindowAttributes函数指针
fun=(MYFUNC)GetProcAddres(hInst, "SetLayeredWindowAttributes");
if(fun)fun(this->GetSafeHwnd(),0,128,2);
FreeLibrary(hInst);
}