下载本文示例代码
天极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) |