Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16497721
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:56:22

下载本文示例代码
天极IT资讯短信服务 电脑小技巧 function check4() { if (dn.mobile.value.length!=11) { alert("手机号码不正确!"); dn.mobile.focus(); return false; } return true; } 资费:包月5元 手机: 介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。   最近心血来潮,对spy深感兴趣,便准备进行一次间谍行动,目标很简单,利用EnableWindow函数激活不可用或无效的控件按钮,当然,这窗体探测器是必不可少了,原以为很简单,但实际行动起来,却遇到不少麻烦,现将经过记录下来,供有兴趣的朋友参考。   我们大都见过spyxx中的窗体探测器,当鼠标在窗体探测器上按下左键时,更改鼠标样式,同时捕获鼠标,探测鼠标下的窗体直到鼠标左键松开。这样我们可以写出代码框架了: case WM_LBUTTONDOWN://鼠标左键按下,检测拖动还是探测{ MSG msg; //在窗体探测器中按下鼠标 if(在窗体探测器内==TRUE)//替换光标,探测拖动 {  //更改鼠标样式  SetCursor(...);  //捕获鼠标  SetCapture(hWnd);  hWndNow=NULL;//当前窗体设为空//此为全局变量  //获取鼠标移动消息  while(GetMessage(&msg,NULL,WM_MOUSEFIRST,WM_MOUSELAST))  {   if((msg.message==WM_MOUSEMOVE)||(msg.message==WM_NCMOUSEMOVE))   {    HWND hWndPoint;    //设置光标    SetCursor(LoadCursor(hInst, (LPCTSTR)CUR_WINDOWSPY));    GetCursorPos(&Point);    //探测当前鼠标点    if(hWndPoint=WindowFromPoint(Point))    {     if(hWndNow!=hWndPoint)//目标已改变     {      if(hWndNow)      {       //清除旧目标上的黑框       XorBorder(hWndNow);      }      //并且不属于本线程      if(GetWindowThreadProcessId(hWndPoint,NULL)!=GetCurrentThreadId())      {       //将当前窗体画一黑边框       hWndNow=hWndPoint;       XorBorder(hWndNow);      }      else      {       hWndNow=NULL;      }      //显示窗体信息      ShowWindowMessage(hWnd,hWndNow);     }    }    else    {     hWndNow=NULL;     ShowWindowMessage(hWnd,hWndNow);    }   }   //如果左键松开,则跳出   else if(msg.message==WM_LBUTTONUP)   {    break;   }  }  XorBorder(hWndNow);  //释放鼠标并恢复鼠标样式  SetCursor(LoadCursor(NULL,(LPCTSTR)IDC_ARROW));  ReleaseCapture(); } break;} 共2页。 1 2 : 天极IT资讯短信服务 电脑小技巧 function check4() { if (dn.mobile.value.length!=11) { alert("手机号码不正确!"); dn.mobile.focus(); return false; } return true; } 资费:包月5元 手机: 介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。   最近心血来潮,对spy深感兴趣,便准备进行一次间谍行动,目标很简单,利用EnableWindow函数激活不可用或无效的控件按钮,当然,这窗体探测器是必不可少了,原以为很简单,但实际行动起来,却遇到不少麻烦,现将经过记录下来,供有兴趣的朋友参考。   我们大都见过spyxx中的窗体探测器,当鼠标在窗体探测器上按下左键时,更改鼠标样式,同时捕获鼠标,探测鼠标下的窗体直到鼠标左键松开。这样我们可以写出代码框架了: case WM_LBUTTONDOWN://鼠标左键按下,检测拖动还是探测{ MSG msg; //在窗体探测器中按下鼠标 if(在窗体探测器内==TRUE)//替换光标,探测拖动 {  //更改鼠标样式  SetCursor(...);  //捕获鼠标  SetCapture(hWnd);  hWndNow=NULL;//当前窗体设为空//此为全局变量  //获取鼠标移动消息  while(GetMessage(&msg,NULL,WM_MOUSEFIRST,WM_MOUSELAST))  {   if((msg.message==WM_MOUSEMOVE)||(msg.message==WM_NCMOUSEMOVE))   {    HWND hWndPoint;    //设置光标    SetCursor(LoadCursor(hInst, (LPCTSTR)CUR_WINDOWSPY));    GetCursorPos(&Point);    //探测当前鼠标点    if(hWndPoint=WindowFromPoint(Point))    {     if(hWndNow!=hWndPoint)//目标已改变     {      if(hWndNow)      {       //清除旧目标上的黑框       XorBorder(hWndNow);      }      //并且不属于本线程      if(GetWindowThreadProcessId(hWndPoint,NULL)!=GetCurrentThreadId())      {       //将当前窗体画一黑边框       hWndNow=hWndPoint;       XorBorder(hWndNow);      }      else      {       hWndNow=NULL;      }      //显示窗体信息      ShowWindowMessage(hWnd,hWndNow);     }    }    else    {     hWndNow=NULL;     ShowWindowMessage(hWnd,hWndNow);    }   }   //如果左键松开,则跳出   else if(msg.message==WM_LBUTTONUP)   {    break;   }  }  XorBorder(hWndNow);  //释放鼠标并恢复鼠标样式  SetCursor(LoadCursor(NULL,(LPCTSTR)IDC_ARROW));  ReleaseCapture(); } break;} 共2页。 1 2 : 下载本文示例代码


用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器用Visual C 设计窗体探测器
阅读(165) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~