WEB开发网
开发学院软件开发VC 更改屏幕显示数据的作弊程序 阅读

更改屏幕显示数据的作弊程序

 2006-07-20 11:41:40 来源:WEB开发网   
核心提示: 枚举子窗体至于枚举子窗体,一般采用两种方法:1、EnumChildWindows回调函数 //例子 调用:EnumChildWindows(g_hWndTag, EnumChildWindowsProc,0); 函数://-//枚举子窗体回调函数BOOL CALLBACK EnumChil

枚举子窗体

至于枚举子窗体,一般采用两种方法:

1、EnumChildWindows回调函数 //例子 调用:EnumChildWindows(g_hWndTag, EnumChildWindowsProc,0); 函数:

//-------------------------------------------------------------------------
//枚举子窗体回调函数
BOOL CALLBACK EnumChildWindowsProc( HWND hWnd, LPARAM lParam )
{
  char buff[256]={''\0''};
  if(::GetWindowLong(hWnd,GWL_STYLE)& WS_VISIBLE)
  {
    ::GetWindowText(hWnd,buff,256);
    //注销这些按钮或窗体
    if( NULL != strstr(buff,"打印") ||
      NULL != strstr(buff,"Excel") ||
      NULL != strstr(buff,"导出") )
    {
      //这种只是屏蔽,界面上仍可看见
      //EnableWindow(hWnd,FALSE);
      //彻底注销,一劳永逸:-)
      DestroyWindow(hWnd);
    }
  }
  return TRUE;
}
2、GetWindow的方法 //例子:百试不爽的while大法,小心while一去不复还
HWND hWndChild=NULL;
hWndChild = ::GetWindow(g_hWnd,GW_CHILD);
while( NULL != hWndChild )
{
  //styleXP.CreateClassXP(hWndChild);   
  hWndChild = ::GetWindow(hWndChild,GW_HWNDNEXT);
}
  这里多说一句,一些换肤程序所采用的窗体子类化,大多就是采用的这两种方法之一。不过我始终觉得那是一项庞大费时且容易使人崩溃的工作,我曾经尝试写了一个小小的类,仅仅只是对按钮用GDI重画了一次,就已经接近忍耐极限,最终决定放弃了。

上一页  1 2 3 4  下一页

Tags:更改 屏幕 显示

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接