В windows 10, Создайте новый рабочий стол и переключитесь на него, стартовое меню нового рабочего стола не может появиться, хотя исходное может. А вот с win7 проблем нет. Зачем? Как решить? здесь ниже код:
void main()
{
char DeskName[] = "abc";
STARTUPINFO si = { 0 };
PROCESS_INFORMATION pi = { 0 };
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
si.wShowWindow = SW_SHOW;
si.lpDesktop = DeskName;
HDESK hdesk = CreateDesktop(DeskName, NULL, NULL, 0, GENERIC_ALL, NULL);
bool rv = SetThreadDesktop(hdesk);
if (rv == false) {
int err = GetLastError();
printf("err:%d\n", err);
return;
}
SwitchDesktop(hdesk);
CreateProcess("C:\\Windows\\explorer.exe", NULL, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
}