【发布时间】:2019-02-10 21:29:21
【问题描述】:
我无法创建新的 Window Station 来运行我的应用程序
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
wprintf(L"SetProcessWindowStation() before: %x\n", GetProcessWindowStation());
HWINSTA winSta = CreateWindowStation(_T("hiddenWinSta"), 0, 0, NULL);
if (winSta == NULL)
{
wprintf(L"CreateWindowStation() failed, error %d!\n", GetLastError());
}else
wprintf(L"CreateWindowStation() is OK!\n");
SetProcessWindowStation(winSta);
OpenDesktop(L"default", 0, FALSE, READ_CONTROL | WRITE_DAC | DESKTOP_WRITEOBJECTS | DESKTOP_READOBJECTS);
wprintf(L"SetProcessWindowStation() after: %x\n", GetProcessWindowStation());
system("pause");
return 0;
}
我可以制作一个不是winsta0和桌面默认的windows station的截图吗?请帮帮我:(
输出
SetProcessWindowStation() before: 30
CreateWindowStation() failed, error 5!
SetProcessWindowStation() after: 30
Press any key to continue . . .
【问题讨论】:
-
这是以管理员身份运行的吗?查看文档,只允许管理员指定名称。不过,看起来您仍然可以解决这个问题。