能力值:
( LV9,RANK:610 )
|
-
-
2 楼
lz的逻辑有的问题 您到底是问 软件hook了EnumWindows函数让我找不到他的主窗口,怎么解决这个问题
还是问 我想实现隐藏进程窗口功能
还是问 spy的实现原理 呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
3个问题回答哪个都可以呀 这3个问题都是有联系的呀
因为在单位不想让别人看见任务栏的游戏名称, 我的本意是想实现用热键隐藏这个游戏的主窗口功能, , 但是由于我用EnumWindows函数遍历不到他的主窗口,所以也就没法隐藏, 而spy++可以找到这个窗口, 所以主要问题就是: 怎么才能让我找到这个游戏主窗口的句柄?
|
能力值:
( LV9,RANK:610 )
|
-
-
4 楼
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;
}
if (strcmp("Warcraft III" /*"WarIII"*/, szTittleDbg) == 0)
{
//是否隐藏:IsWindowVisible
//是否最小化:IsIconic
//是否最大化:IsZoomed
g_bActive = !(::IsIconic(hCurrent));
break;
}
hCurrent = ::GetNextWindow(hCurrent, GW_HWNDNEXT);
}
摘自以前写的一个工具里面的遍历窗口的方法,仅供参考!
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
你隐藏任务栏不就可以了
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
blueapplez 的方法一定可以,呵呵,大部分游戏 没有Hook GetNextWindow
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
确实ok了 感谢lueapplez了
|
|
|