首页
社区
课程
招聘
[旧帖] 任务管理器的 选项 前端显示怎么实现的? 0.00雪花
2011-7-5 10:19 8620

[旧帖] 任务管理器的 选项 前端显示怎么实现的? 0.00雪花

2011-7-5 10:19
8620
单纯的
setWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, 03); 不行啊,
有新的程序激活了,就覆盖到我的程序上面了。
但是 任务管理器为什么能实现,总在最前面?
钩子? 没那么复杂吧

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
ronging 2011-7-5 10:40
2
0
就是这个,这个是很基础的API,楼主你再看看你的参数是不是错了。或者调试下看看返回值。
API是没有问题的,以前使用过很多次。
雪    币: 165
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yzxdev 2011-7-5 13:15
3
0
楼上的不要误人子弟。

大致代码如下:

WINDOWPLACEMENT placement = { sizeof(placement) };

GetWindowPlacement(SelectedProcessWindowHandle, &placement);

if (placement.showCmd == SW_MINIMIZE)
     ShowWindowAsync(SelectedProcessWindowHandle, SW_RESTORE);
else
      SetForegroundWindow(SelectedProcessWindowHandle);
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
ronging 2011-7-6 09:45
4
0
我误人子弟,,真是好笑,拜托楼上的看清楚楼主的需求好不好,这么毛糙也来写程序。

我特地写了一段程序验证下,其实很简单。我是win7的系统,就2句代码就能看出效果,启动一个记事本,然后运行。

HWND h = FindWindow( NULL, "无标题 - 记事本" );
if( h )
{
	SetWindowPos( h, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE|SWP_SHOWWINDOW );
}


效果很明显,记事本窗口变成了topmost,始终在一般应用的最上面。楼主还可以使用spy++,看看记事本窗口的style的前后变化。
雪    币: 246
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
htht 2011-7-6 09:57
5
0
好像就是SetWindowPos 吧。
游客
登录 | 注册 方可回帖
返回