gpt4 book ai didi

Windows 服务看不到 Shell_TrayWnd

转载 作者:可可西里 更新时间:2023-11-01 10:26:56 25 4
gpt4 key购买 nike

我需要通过 Windows 服务隐藏任务栏和开始按钮。

在控制台程序中,我可以成功调用 FindWindow 和/或 EnumWindows 来获取 "Shell_TrayWnd" 窗口,然后使用 ShowWindow(hwnd, SW_HIDE).

但是当服务执行 FindWindow("Shell_TrayWnd", NULL) 时,它返回 NULL,而当服务执行 EnumWindows 时,它得到一个不完整列表,不包括 "Shell_TrayWnd" 窗口。

谁能建议服务如何看到 "Shell_TrayWnd" 窗口,或建议隐藏任务栏和开始按钮的替代方法(在服务中有效)?谢谢。

最佳答案

为服务提供 UI(或以其他方式与 UI 元素交互)的正确方法是提供一个 GUI 客户端,它在用户的上下文中运行并使用一些 IPC 方法(可能是 RPC,可能是消息传递)与服务。特权服务中的 UI 处理一直是一个安全漏洞。

如果您只是想要一个计算机智能进程来终止任务栏,那么服务既不需要也没有帮助。配置计划任务以在登录时运行。或者将注册表设置为启动自定义 shell 而不是 explorer.exe。除了用户自己的帐户之外,您没有做任何需要特权的事情。

为避免控制台窗口闪烁,为 WINDOWS 子系统构建程序,或在构建完成后使用 editbin/SUBSYSTEM:WINDOWS 更改 PE header 中的标志完成。

关于Windows 服务看不到 Shell_TrayWnd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13609166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com