任何人都可以帮助我解决 Windows 桌面的这种奇怪行为吗?

问题描述 投票:0回答:0

所以,当我发现桌面时,我正在探索

user32
功能。我写了一个关于他们的小程序:

#include <windows.h>

int main () 
{
    HDESK newdesk = CreateDesktopA("newdesktop", NULL, NULL, 0, GENERIC_ALL, NULL);
    HDESK olddesk = GetThreadDesktop(GetCurrentThreadId());
    SetThreadDesktop(newdesk);
    SwitchDesktop(newdesk);
    MessageBoxA(GetDesktopWindow(), "I am in a new desktop!", "New Desktop", MB_OK);
    SetThreadDesktop(olddesk);
    SwitchDesktop(olddesk);
    CloseDesktop(newdesk);
    ExitProcess(0);
}

作为普通用户,它工作正常。然而,当我尝试以管理员身份启动它时,桌面被创建,被激活,但消息框没有出现。

不知道有没有必要说,用户账户控制是默认设置,我用的是Windows 10。

我还在具有用户帐户控制功能的不同操作系统版本(Vista、7、8、8.1、11)上进行了尝试,它们都遇到了完全相同的问题,而我希望它可以作为普通用户和作为普通用户正常运行管理员

有人可以向我解释我做错了什么吗?

c++ windows winapi user32
© www.soinside.com 2019 - 2024. All rights reserved.