冒险解谜游戏中文网 ChinaAVG

标题: 无法窗口化游戏的窗口标题获取程序(自由选择) [打印本页]

作者: shane007    时间: 2010-4-9 20:29
标题: 无法窗口化游戏的窗口标题获取程序(自由选择)
请有能力和热心的朋友主动报名和完成这个任务,请公开源代码。: o' e, ?- z  H# L1 ?
2 {6 N% A( m0 ?, h2 z+ B8 y
为了HOOK某些无法窗口化的游戏,需要知道它的窗口标题。( m' ~" }9 B9 v4 i& o
所以要制作一个无法窗口化游戏的窗口标题获取程序。1 [+ u. Y. v  t" `" e, Z

# |5 M/ n7 H5 I; j* f要求如下:
" j1 _" `( e' {# n, L, a2 Q执行程序后,马上启动游戏,这个程序会在30秒后把所有进程的窗口标题输出到一个
: N! d7 B0 {$ [- ^log文件里面。其中必然有一个是无法窗口化游戏的窗口标题。
作者: scgame    时间: 2010-4-11 08:19
按情况修改批处理吧
  1. #include <windows.h>
  2. #include <tchar.h>
  3. #include <iostream>
  4. #include <string>
  5. using namespace std;
  6. #pragma comment(lib, "user32.lib")
  7. HWND windowHandle;
  8. TCHAR previous[500];
  9. BOOL CALLBACK MyEnumProc(HWND hWnd, LPARAM lParam)
  10. {
  11.     TCHAR title[500];
  12.     string current;
  13.     ZeroMemory(title, sizeof(title));
  14.     //string strTitle;
  15.     GetWindowText(hWnd, title, sizeof(title)/sizeof(title[0]));
  16.     if (IsWindowVisible(hWnd) && (title[0]!='\\0'))    printf("window %s\\n",title);
  17.         ZeroMemory(previous,sizeof(previous));
  18.     _tcscpy(previous,title);
  19.     return TRUE;
  20. }
  21. void MyFunc(void) //(called by main)
  22. {
  23.     EnumDesktopWindows(NULL,MyEnumProc, 0);
  24. }
  25. int main() {
  26.     MyFunc();
  27.     return 0;
  28. }
复制代码
批处理
  1. @echo off
  2. set v=0
  3. start %1
  4. :wait
  5. ping 1.0.0.1 -n 1 >NUL -w 1000
  6. set /A %v+=1
  7. if %v% lss 30 goto :wait
  8. WindowsAPI.exe > results.txt
复制代码
把%1改成游戏就行了,另外可以直接从命令行启动
- F2 v7 g7 l; b比如windowlst.bat calc
作者: shane007    时间: 2010-4-11 21:48
收到,谢谢!




欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/) Powered by Discuz! X3.2