屏蔽按CapsLock键切换到大写时,编辑框自动弹出的提示(UnregisterClass(TOOLTIPS_CLASS)后,重新设置WndProc并注意返回值)

[cpp] view plain copy
 
  1. WNDPROC OldProc;  
  2. LPCTSTR lpStr = TEXT("保持大写锁定打开可能会使您错误输入密码");  
  3.   
  4. LRESULT CALLBACK WindowProc(  
  5.     _In_  HWND hwnd,  
  6.     _In_  UINT uMsg,  
  7.     _In_  WPARAM wParam,  
  8.     _In_  LPARAM lParam)  
  9. {  
  10.     if (uMsg == TTM_ADDTOOL)  
  11.     {  
  12.         if (_tcsncmp(((LPTOOLINFO)lParam)->lpszText, lpStr, _tcslen(lpStr))==0)  
  13.         {  
  14.             return 1;  
  15.         }  
  16.           
  17.     }  
  18.     return CallWindowProc(OldProc, hwnd, uMsg, wParam, lParam);  
  19. }  
  20.   
  21. int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int nCmdShow)  
  22. {  
  23.     WNDCLASSEX wcx = { 0 };  
  24.     GetClassInfoEx(GetModuleHandle(NULL), TOOLTIPS_CLASS, &wcx);  
  25.     UnregisterClass(TOOLTIPS_CLASS, GetModuleHandle(NULL));  
  26.   
  27.     OldProc = wcx.lpfnWndProc;  
  28.     wcx.lpfnWndProc = WindowProc;  
  29.     wcx.cbSize = sizeof(wcx);  
  30.     RegisterClassEx(&wcx);  
  31. }  

http://blog.csdn.net/zwfgdlc/article/details/49591315

原文地址:https://www.cnblogs.com/findumars/p/6345020.html