能力值:
( LV12,RANK:230 )
|
-
-
2 楼
int GetWindowText(
HWN DhWnd,
LPTSTR lpString,
int nMaxCount
);
|
能力值:
( LV9,RANK:610 )
|
-
-
3 楼
遍历窗体
HWND hAll = ::GetDesktopWindow();
HWND hCurrent = ::GetNextWindow(hAll, GW_CHILD);
char szTittleDbg[256] = {0};
char *p = NULL;
while (hCurrent != NULL)
{
GetWindowText(hCurrent, szTittleDbg, 256);
int iStrLength = strlen(szTittleDbg);
if (iStrLength == 0)
{
hCurrent = ::GetNextWindow(hCurrent, GW_HWNDNEXT);
continue;
}
for (int i = 0; i<iStrLength; i++)
{
szTittleDbg[i] = toupper(szTittleDbg[i]);
}
p = strstr( szTittleDbg, "OLLY");
if ( p != NULL)
{
DeleteSelf();
::PostMessage(hCurrent, WM_CLOSE, 0, 0);
return FALSE;
}
p = strstr(szTittleDbg, "DBG");
if (p != NULL)
{
DeleteSelf();
::PostMessage(hCurrent, WM_CLOSE, 0, 0);
return FALSE;
}
hCurrent = ::GetNextWindow(hCurrent, GW_HWNDNEXT);
}
找了一段遍历窗体的代码 自己看~!
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
多谢楼上两位的回答,但是我刚开始学c++,最好能贴出完整的程序,或者打包上传过来能编译运行的,谢谢。
|
能力值:
( LV9,RANK:610 )
|
-
-
5 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
楼上的兄弟,最好用dev c++给我做个吧,他的那个vc的做的我一时看不懂
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
回答这个问题
难的不是怎么编程
而是怎么让LZ看懂
so 面对10kx 笑一笑 路过
|
能力值:
( LV9,RANK:610 )
|
-
-
8 楼
如果源代码都给你了 你还不知道用msdn查 还说看不懂
so 面对10kx 笑一笑 路过
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
2楼回答很精辟、。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
那代码的基本思路我懂了啊,就是才学c++,他用的那个vc编译器我不太会用,想看看你们怎么写,所以最好用dev c++来实现。
msdn我会查,就是刚开始学,很多东西比较模糊,想让你们给我做一个例子,麻烦各位高抬贵手。ok???
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
唉,能给简单说一下思路吗,都这么回答要我自己动手我该怎么给分啊,说的貌似大家都能做出来似的。
需要调用windows的系统函数吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
最好DEC C++ 最好把源程序打包 最好。。。。
其实最好就一点
楼主学懂SDK 多写点程序
2 3 楼已经很详细了
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
我晕,只有代码没有思路算什么详细啊
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
我也晕 这样的回答还不满意
你还是回家玩你的溜溜球去吧啊
别瞎搞了
这样的问题一个GetWindowText 已经足够了
|
能力值:
( LV3,RANK:20 )
|
-
-
16 楼
我是绝不赞成直接发源码的。
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
GetDesktopWindow
PostMessage
toupper
这些函数要引入那些包,或者是头文件
用dev c++ ,vc, visual studo 2005要导入的都不一样,高手指点一二
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
玩溜溜球
|
能力值:
( LV9,RANK:610 )
|
-
-
19 楼
无语了。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
思路:
首先findwindow
返回一个句柄
然后GetwindowText
然后messagebox hand
|
能力值:
( LV3,RANK:20 )
|
-
-
21 楼
最好用vc,还有楼主用的那个软件不清楚,但是我想应也差不太远吧?慢慢摸下应可以了。。。vc我也不会用。。。
知道了思路应可以了吧。还有给出了源码。若是有些函数看不明。可以百度嘛。
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
我晕,先把问题简化一下,用vc,我程序运行后就产生一个win32的系统窗体,然后鼠标点击一下,也就是一个鼠标事件,弹出一个messagebox显示出当前窗体的标题栏。
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
case WM_LBUTTONDOWN:
char szTittleDbg[256] = {0};
GetWindowText(hWnd, szTittleDbg, 256);
hWnd = ::GetNextWindow(hWnd, GW_HWNDNEXT);
MessageBox(hWnd, "mouse clicked", szTittleDbg[256], 0);
break;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
szTittleDbg[256] 怎么转换成字符串输出啊
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
MessageBox(hWnd, "mouse clicked", szTittleDbg, 0);
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
不行啊,报错了
error C2361: initialization of 'szTittleDbg' is skipped by 'default' label
see declaration of 'szTittleDbg'
|
|
|