冒险解谜游戏中文网 ChinaAVG

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

作者: shane007    时间: 2010-4-9 20:29
标题: 无法窗口化游戏的窗口标题获取程序(自由选择)
请有能力和热心的朋友主动报名和完成这个任务,请公开源代码。- p9 T: w0 X* d. d* H' h

4 L2 J3 _! c+ o( o2 B1 m' ?- ~为了HOOK某些无法窗口化的游戏,需要知道它的窗口标题。
/ }7 P7 E' o4 Y2 M所以要制作一个无法窗口化游戏的窗口标题获取程序。
; s0 h2 [, ]+ y. _# x. ?; v. `
7 p5 `1 t9 l1 Z( W  C5 p' I要求如下:, E- B4 _, `$ J' L' W
执行程序后,马上启动游戏,这个程序会在30秒后把所有进程的窗口标题输出到一个
9 \1 J: C, r1 t; y4 Y. ylog文件里面。其中必然有一个是无法窗口化游戏的窗口标题。
作者: 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改成游戏就行了,另外可以直接从命令行启动( _1 z6 o9 w8 {. U3 I
比如windowlst.bat calc
作者: shane007    时间: 2010-4-11 21:48
收到,谢谢!




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