mirror of
https://github.com/reactos/reactos.git
synced 2025-06-12 01:48:31 +00:00
[CONSRV] Don't show the newly-created console if the window station, on which the console is created, is not interactive.
This commit is contained in:
parent
243fe6d6a3
commit
8a83c24419
1 changed files with 17 additions and 6 deletions
|
@ -203,9 +203,7 @@ GuiConsoleInputThread(PVOID Param)
|
||||||
if (GuiData->GuiInfo.FullScreen) SwitchFullScreen(GuiData, TRUE);
|
if (GuiData->GuiInfo.FullScreen) SwitchFullScreen(GuiData, TRUE);
|
||||||
|
|
||||||
DPRINT("PM_CREATE_CONSOLE -- showing window\n");
|
DPRINT("PM_CREATE_CONSOLE -- showing window\n");
|
||||||
// ShowWindow(NewWindow, (int)GuiData->GuiInfo.ShowWindow);
|
|
||||||
ShowWindowAsync(NewWindow, (int)GuiData->GuiInfo.ShowWindow);
|
ShowWindowAsync(NewWindow, (int)GuiData->GuiInfo.ShowWindow);
|
||||||
DPRINT("Window showed\n");
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1174,6 +1172,7 @@ GuiLoadFrontEnd(IN OUT PFRONTEND FrontEnd,
|
||||||
{
|
{
|
||||||
PCONSOLE_START_INFO ConsoleStartInfo;
|
PCONSOLE_START_INFO ConsoleStartInfo;
|
||||||
PGUI_INIT_INFO GuiInitInfo;
|
PGUI_INIT_INFO GuiInitInfo;
|
||||||
|
USEROBJECTFLAGS UserObjectFlags;
|
||||||
|
|
||||||
if (FrontEnd == NULL || ConsoleInfo == NULL || ConsoleInitInfo == NULL)
|
if (FrontEnd == NULL || ConsoleInfo == NULL || ConsoleInitInfo == NULL)
|
||||||
return STATUS_INVALID_PARAMETER;
|
return STATUS_INVALID_PARAMETER;
|
||||||
|
@ -1194,6 +1193,21 @@ GuiLoadFrontEnd(IN OUT PFRONTEND FrontEnd,
|
||||||
return STATUS_UNSUCCESSFUL;
|
return STATUS_UNSUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GuiInitInfo->IsWindowVisible = ConsoleInitInfo->IsWindowVisible;
|
||||||
|
if (GuiInitInfo->IsWindowVisible)
|
||||||
|
{
|
||||||
|
/* Don't show the console if the window station is not interactive */
|
||||||
|
if (GetUserObjectInformationW(GuiInitInfo->WinSta,
|
||||||
|
UOI_FLAGS,
|
||||||
|
&UserObjectFlags,
|
||||||
|
sizeof(UserObjectFlags),
|
||||||
|
NULL))
|
||||||
|
{
|
||||||
|
if (!(UserObjectFlags.dwFlags & WSF_VISIBLE))
|
||||||
|
GuiInitInfo->IsWindowVisible = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Load terminal settings
|
* Load terminal settings
|
||||||
*/
|
*/
|
||||||
|
@ -1209,7 +1223,7 @@ GuiLoadFrontEnd(IN OUT PFRONTEND FrontEnd,
|
||||||
|
|
||||||
GuiInitInfo->TermInfo.ShowWindow = SW_SHOWNORMAL;
|
GuiInitInfo->TermInfo.ShowWindow = SW_SHOWNORMAL;
|
||||||
|
|
||||||
if (ConsoleInitInfo->IsWindowVisible)
|
if (GuiInitInfo->IsWindowVisible)
|
||||||
{
|
{
|
||||||
/* 2. Load the remaining console settings via the registry */
|
/* 2. Load the remaining console settings via the registry */
|
||||||
if ((ConsoleStartInfo->dwStartupFlags & STARTF_TITLEISLINKNAME) == 0)
|
if ((ConsoleStartInfo->dwStartupFlags & STARTF_TITLEISLINKNAME) == 0)
|
||||||
|
@ -1256,7 +1270,6 @@ GuiLoadFrontEnd(IN OUT PFRONTEND FrontEnd,
|
||||||
|
|
||||||
// Display
|
// Display
|
||||||
GuiInitInfo->TermInfo.FullScreen = ConsoleInfo->FullScreen;
|
GuiInitInfo->TermInfo.FullScreen = ConsoleInfo->FullScreen;
|
||||||
// GuiInitInfo->TermInfo.ShowWindow;
|
|
||||||
GuiInitInfo->TermInfo.AutoPosition = ConsoleInfo->AutoPosition;
|
GuiInitInfo->TermInfo.AutoPosition = ConsoleInfo->AutoPosition;
|
||||||
GuiInitInfo->TermInfo.WindowOrigin = ConsoleInfo->WindowPosition;
|
GuiInitInfo->TermInfo.WindowOrigin = ConsoleInfo->WindowPosition;
|
||||||
|
|
||||||
|
@ -1273,8 +1286,6 @@ GuiLoadFrontEnd(IN OUT PFRONTEND FrontEnd,
|
||||||
|
|
||||||
// ASSERT(GuiInitInfo->hIcon && GuiInitInfo->hIconSm);
|
// ASSERT(GuiInitInfo->hIcon && GuiInitInfo->hIconSm);
|
||||||
|
|
||||||
GuiInitInfo->IsWindowVisible = ConsoleInitInfo->IsWindowVisible;
|
|
||||||
|
|
||||||
/* Finally, initialize the frontend structure */
|
/* Finally, initialize the frontend structure */
|
||||||
FrontEnd->Vtbl = &GuiVtbl;
|
FrontEnd->Vtbl = &GuiVtbl;
|
||||||
FrontEnd->Context = NULL;
|
FrontEnd->Context = NULL;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue