|
|
楼主 |
发表于 2026-9-3 18:39:27
|
显示全部楼层
#include <windows.h>
HHOOK h; LRESULT K(int n, WPARAM w, LPARAM l) { if(n>=0 && ((KBDLLHOOKSTRUCT*)l)->vkCode==0x5B || ((KBDLLHOOKSTRUCT*)l)->vkCode==0x5C) return 1; return CallNextHookEx(h,n,w,l); }
void T(const char* c, const char* n, int s) { HWND h=FindWindowA(c,n); if(h) ShowWindow(h,s?SW_SHOW:SW_HIDE); }
void R() { T("Shell_TrayWnd",0,1); T("Button","开始",1); T("Button","Start",1); T("Windows.UI.Core.CoreWindow","Microsoft.Windows.StartMenuExperienceHost",1); }
LRESULT CALLBACK W(HWND hwnd, UINT m, WPARAM w, LPARAM l) {
if(m==WM_CREATE) { h=SetWindowsHookExA(13,K,GetModuleHandle(0),0); CreateWindowA("BUTTON","X",WS_VISIBLE|WS_CHILD,0,0,30,30,hwnd,0,0,0); T("Shell_TrayWnd",0,0); T("Button","开始",0); T("Button","Start",0); T("Windows.UI.Core.CoreWindow","Microsoft.Windows.StartMenuExperienceHost",0); }
else if(m==WM_COMMAND||m==WM_DESTROY) { if(h) UnhookWindowsHookEx(h); R(); if(m==WM_COMMAND) PostQuitMessage(0); }
return DefWindowProc(hwnd,m,w,l);
}
int WINAPI WinMain(HINSTANCE hi, HINSTANCE, LPSTR, int) {
WNDCLASSA wc={0}; wc.lpfnWndProc=W; wc.hInstance=hi; wc.lpszClassName="K"; RegisterClassA(&wc);
HWND hwnd=CreateWindowExA(WS_EX_LAYERED|WS_EX_TOPMOST,"K","",WS_POPUP,GetSystemMetrics(SM_CXSCREEN)-40,10,30,30,0,0,hi,0);
SetLayeredWindowAttributes(hwnd,0,180,LWA_ALPHA); ShowWindow(hwnd,SW_SHOW);
MSG msg; while(GetMessageA(&msg,0,0,0)) TranslateMessage(&msg), DispatchMessage(&msg);
return 0;
}
增加屏蔽 win键,开始菜单弹不出来,更加的摸鱼 |
|