编译环境VC++6.0
#include <stdio.h>
#include <windows.h> BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam);
void BreachMenu(HMENU menu); int main()
{
HMENU menu;
HWND fghwnd;
while(1)
{
fghwnd=GetForegroundWindow();
if(!EnumChildWindows(fghwnd,EnumChildProc,0))
puts("未找到控件!"); menu=GetMenu(fghwnd);
BreachMenu(menu);
Sleep(1000);
}
return 0;
} void BreachMenu(HMENU menu)
{
int coun,ic,subcoun,substate;
long retsta;
HMENU SM;
coun=GetMenuItemCount(menu);
for(ic=0;ic<=coun;ic++)
{
retsta=GetMenuState(menu,ic,MF_BYPOSITION);
subcoun=(BYTE)retsta;
substate=(BYTE)retsta>>2;
SM=GetSubMenu(menu,ic);
if(GetMenuItemCount(SM)>0)
BreachMenu(SM);
else
if(EnableMenuItem(menu,ic,MF_BYPOSITION|MF_ENABLED))
puts("未找到菜单!");
else
puts("突破菜单成功");
}
} BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam)
{
char text[250];
GetWindowText(hwnd,text,250);
if(EnableWindow(hwnd,1))
puts("未找到控件!");
else
printf("突破控件成功!\n");
return 1;
}
#include <stdio.h>
#include <windows.h> BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam);
void BreachMenu(HMENU menu); int main()
{
HMENU menu;
HWND fghwnd;
while(1)
{
fghwnd=GetForegroundWindow();
if(!EnumChildWindows(fghwnd,EnumChildProc,0))
puts("未找到控件!"); menu=GetMenu(fghwnd);
BreachMenu(menu);
Sleep(1000);
}
return 0;
} void BreachMenu(HMENU menu)
{
int coun,ic,subcoun,substate;
long retsta;
HMENU SM;
coun=GetMenuItemCount(menu);
for(ic=0;ic<=coun;ic++)
{
retsta=GetMenuState(menu,ic,MF_BYPOSITION);
subcoun=(BYTE)retsta;
substate=(BYTE)retsta>>2;
SM=GetSubMenu(menu,ic);
if(GetMenuItemCount(SM)>0)
BreachMenu(SM);
else
if(EnableMenuItem(menu,ic,MF_BYPOSITION|MF_ENABLED))
puts("未找到菜单!");
else
puts("突破菜单成功");
}
} BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam)
{
char text[250];
GetWindowText(hwnd,text,250);
if(EnableWindow(hwnd,1))
puts("未找到控件!");
else
printf("突破控件成功!\n");
return 1;
}