myWinAttrib.cpp
上传用户:hyb6888
上传日期:2016-01-24
资源大小:5186k
文件大小:1k
源码类别:

输入法编程

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "windows.h"
  3. #include "myWinAttrib.h"
  4. //判断系统是否NT
  5. BOOL myWinAttrib:: MyIsWinNT() 
  6. {
  7.   BOOL  ret ;
  8.    OSVERSIONINFO osvi;
  9.    osvi.dwOSVersionInfoSize = 148;
  10.    GetVersionEx(&osvi);
  11.   if(osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
  12.   ret= 1;
  13.   else
  14.       ret= 0;
  15.   return ret;
  16. }
  17. myWinAttrib::myWinAttrib()
  18. {
  19. hUser32 = GetModuleHandle("user32.dll"); 
  20. isset=1;
  21. SetLayeredWindowAttributes = (lpfnSetLayeredWindowAttributes)GetProcAddress(hUser32,"SetLayeredWindowAttributes"); 
  22. myWinAttrib::~myWinAttrib()
  23. {
  24. FreeLibrary(hUser32);//卸载TranChiDll.dll文件;
  25. int myWinAttrib::mySetWindow(HWND hWnd, long crKey, BYTE bAlpha, DWORD dwFlags)
  26. {
  27. if(isset==1 && MyIsWinNT())
  28. {
  29. SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE)|WS_EX_LAYERED);
  30. //SetWindowLong(hWnd, GWL_EXSTYLE, WS_EX_LAYERED);
  31. //LWA_ALPHA|LWA_COLORKEY可以使两种特殊效果同时生效,
  32. SetLayeredWindowAttributes(hWnd, crKey , bAlpha, dwFlags);
  33. isset=1;
  34. }
  35. return 0;
  36. }