--- ./programs/Xserver/hw/xwin/save_winprefs.c 2005-08-04 21:57:22.000000000 +0100 +++ ./programs/Xserver/hw/xwin/winprefs.c 2005-08-04 21:58:14.000000000 +0100 @@ -380,7 +380,36 @@ else return TRUE; break; -#endif +#else + case CMD_EXEC: + { + /* Start process without console window */ + STARTUPINFO start; + SECURITY_ATTRIBUTES sec_attrs; + PROCESS_INFORMATION child; + + memset (&start, 0, sizeof (start)); + start.cb = sizeof (start); + start.dwFlags = STARTF_USESHOWWINDOW; + start.wShowWindow = SW_HIDE; + + sec_attrs.nLength = sizeof (sec_attrs); + sec_attrs.lpSecurityDescriptor = NULL; + sec_attrs.bInheritHandle = FALSE; + + memset (&child, 0, sizeof (child)); + + if (CreateProcess (NULL, m->menuItem[j].param, &sec_attrs, NULL, FALSE, 0, + NULL, NULL, &start, &child)) + { + CloseHandle (child.hThread); + CloseHandle (child.hProcess); + } + else + MessageBox(NULL, m->menuItem[j].param, "Error!", MB_OK | MB_ICONEXCLAMATION); + } + return TRUE; +#endif case CMD_ALWAYSONTOP: if (!hwnd) return FALSE;