真的不想这样-----------

wjx_0_2001 2008-11-11 04:54:21
还是老问题

用FindWindows或其他的办法,如果获取任务管理器的窗口句柄


准备给高分,别这样写FindWindows(NULL,"任务管理器")行不通的



一般的窗口大家知道怎么搞,现在任务管理器窗口感觉真难弄

呵呵

...全文
87 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjx_0_2001 2008-11-12
  • 打赏
  • 举报
回复
写错了标题

cnzdgs 2008-11-11
  • 打赏
  • 举报
回复
你想要做什么?如果要查找窗口,就是用FindWindow,只不过窗口名称应该是“Windows 任务管理器”。
bobob 2008-11-11
  • 打赏
  • 举报
回复
这是一个遍历所有窗口的例子,通过遍历所有窗口,拿到窗口标题,然后做比较

FindWindow肯定是可以的,你再检查一下你自己的做法
bobob 2008-11-11
  • 打赏
  • 举报
回复
#include <windows.h>
#include <STDIO.H>
BOOL myEnumWindow(HWND hwnd);
int main()
{
myEnumWindow(NULL);
return 0;
}

BOOL myEnumWindow(HWND inHwnd)
{
char szText[256];

HWND hwndAfter = NULL;
while(hwndAfter = ::FindWindowEx(inHwnd,hwndAfter,NULL,NULL))
{
memset(szText,0,256);
::SendMessage(hwndAfter,WM_GETTEXT,(WPARAM)256,(LPARAM)szText);
if (strstr(szText,"任务管理器")) {
printf("%s\t",szText);
}

myEnumWindow(hwndAfter);
}
return 1;
}

lijinfenghust 2008-11-11
  • 打赏
  • 举报
回复
"别这样写FindWindows(NULL,"任务管理器")行不通的 "

顺便问啥叫行不通?
lijinfenghust 2008-11-11
  • 打赏
  • 举报
回复

HWND hWnd=::FindWindow(NULL,_T("Windows 任务管理器"));
if(hWnd)
{
::PostMessage(hWnd,WM_CLOSE,0,0);
}

我的是XP系统,任务管理器名字全称与你的不一样
调试通过。你看看是不是你名字写错了。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧