Всем доброго времени суток! Есть такая проблема, после создания еще одного рабочего стола и запуска в нем LiteStep (менеджер рабочего стола типа експлорера) в нем не работают горячие клавиши. Точнее работают но действие от них происходит на первом рабочем столе. Код (Text): DWORD curid; HDESK newdesk, olddesk; STARTUPINFO info={sizeof(info)}; PROCESS_INFORMATION processInfo; memset(&info, 0, sizeof(info)); memset(&info, 0, sizeof(processInfo)); info.cb = sizeof(info); info.dwFlags = 0; info.lpDesktop = "Desk1"; curid = GetCurrentThreadId(); olddesk = GetThreadDesktop(curid); newdesk = CreateDesktopW (L"Desk1", NULL, NULL, NULL, 0x10000000 , NULL); newdesk = OpenDesktopW (L"Desk1", 0, 0, 0x10000000); if (!newdesk || !olddesk) return -1; if (CreateProcess("litestep.exe", NULL, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &info, &processInfo)) { if (SwitchDesktop(newdesk) && SetThreadDesktop(newdesk)) { ::WaitForSingleObject(processInfo.hProcess, INFINITE); SwitchDesktop (olddesk); } CloseHandle(processInfo.hProcess); CloseHandle(processInfo.hThread); } CloseDesktop (newdesk); return (EXIT_SUCCESS); В тоже время в утилите Русиновича Desktops таких проблем не возникает. Вопрос, надо как то по другому создавать рабочий стол\запускать процесс или необходимо вручную отбиндить горячие клавиши от предыдущего рабочего стола? И если второе то как?