gpt4 book ai didi

windows - 从 Windows 服务更改显示分辨率 (Windows 7)

转载 作者:可可西里 更新时间:2023-11-01 09:48:42 30 4
gpt4 key购买 nike

( 大家好。我是 Windows 编程的新手,所以如果已经有人问过我,我提前道歉,我只是不知道要搜索什么,但这个问题一直让我发疯,我知道有人可能真的很容易回答这个问题。)

我的公司有一个在 Windows 7 中作为服务运行的应用程序。我的任务是编写代码来更改显示设置,但我显然无法通过系统服务执行此操作。我创建了一个小的可执行文件,它用大约 5-10 行代码将颜色深度更改为 8bpp,但是当我将这段代码放入我的应用程序时,它返回成功但实际上并没有成功(没有任何变化)。

在不完全了解 Windows 编程如何工作的情况下,我已经设法尝试了上百万种不同的方法来让它工作,但都无济于事。有人可以帮我找到我需要做什么才能使此代码正常运行吗?

最佳答案

在 Vista 和更高版本中,服务在不同的 session (session 0) 中运行,并与交互式桌面隔离。这意味着您从该服务运行的代码根本无法进行您想要的更改。显而易见的结论是您需要在交互式桌面中运行代码。

现在您可以做到这一点,但实现起来并不容易。您需要做的是安排您的服务启动一个在交互式桌面上运行的进程:Launching an interactive process from Windows Service in Windows Vista and later .必须进行更改的是该过程,而不是服务。

虽然有可能实现您想要的,但我认为您应该将所涉及的困难视为一个信号,以审查您提出的方法是否是解决您的根本问题的最佳解决方案。

关于windows - 从 Windows 服务更改显示分辨率 (Windows 7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9487879/

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