某强大的资源管理器免击Patch代码
此方虽然土了一点,由于不修改Bin,应该可以达以新版本的兼容,呵呵。
比较佩服此软件作者的开发精神,真的十年如一日。
您可以转载,但请注明出处(www.vcfans.com),谢谢。
直接上代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | #include "stdafx.h" #include <STDIO.H> #define LOOPTIMES 5000 HWND LoopCheckHandle( HWND hParent, char * szTitle, int nType ) { HWND hRet=NULL; int nLoopTimes = LOOPTIMES; if( NULL == szTitle ) return (HWND) NULL; while( nLoopTimes-- ) { if( nType == 0 ) {//title hRet = FindWindowEx(hParent, NULL, szTitle, NULL); } else {//class hRet = FindWindowEx(hParent, NULL, NULL, szTitle); } if(hRet) break; Sleep(10); } return hRet; } bool SimlateMouseHit( HWND hParent ) { if( !hParent ) return false; HWND hTNotebook = LoopCheckHandle(hParent, "TNotebook", 0); if( hTNotebook ) { HWND hNag = LoopCheckHandle(hTNotebook,"NagPage",1); if( hNag ) { HWND hTPanel=LoopCheckHandle(hNag, "TPanel", 0); if( hTPanel ) { HWND hRandom=LoopCheckHandle(hTPanel, "TPanel", 0);; if( hRandom ) { char szTitle[10]={0}; char szBuf[2]={0}; szTitle[0]='&'; GetWindowText(hRandom, szBuf, 2 ); strcat(szTitle,szBuf); HWND hBtn= LoopCheckHandle(hTPanel,szTitle,1); if( hBtn ) { SendMessage(hBtn, WM_LBUTTONDOWN, 0, 0); SendMessage(hBtn, WM_LBUTTONUP, 0, 0); return true; } } } } } return false; } int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { STARTUPINFO si; memset(&si, 0, sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = SW_SHOW; PROCESS_INFORMATION pi; char szFilePath[MAX_PATH]={0},szTcPath[MAX_PATH]={0}; int i = LOOPTIMES; GetModuleFileName(NULL, szFilePath, MAX_PATH ); char *p = szFilePath + strlen(szFilePath)-1; while(*p--) { if( *p == '\\' ) break; } szFilePath[p-szFilePath+1]=0; sprintf(szTcPath,"%sTOTALCMD.EXE",szFilePath); CreateProcess(NULL,szTcPath, NULL, NULL, FALSE, NULL,NULL,NULL, &si, &pi); if( GetLastError() == 0 ) { HWND hReg = LoopCheckHandle(NULL, "TNASTYNAGSCREEN", 0); if( hReg ) {//find it SimlateMouseHit(hReg); } CloseHandle(pi.hProcess); CloseHandle(pi.hThread); } else { MessageBox(NULL, "请确保此Patch和TotalCommand在同一个目录中.","错误", MB_ICONERROR); } return 0; } |
5 条评论
哈哈,懒人推到了社会的发展。
原来你也用了WP-CodeBox插件,嘿嘿~~
大佬你也太”懒”了吧…..
To cooldog:
我不想使用PJ版,又懒得点击那个启动窗口,呵呵。
TotalCMD… 我也在用。。。不过模拟点击按钮是啥意思?没搞懂~