X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=base%2Fsetup%2Fwelcome%2Fwelcome.c;h=fb8cb9aeaaed4dc05f744cb847dadf767ec6d373;hp=486074cc01c5172ce314392aea231dbcc36f4f3d;hb=18ac12569f32eb04c6e96545f67cc583b1c6bcaf;hpb=ee9c5e2290dd992c9a919b0f9730e249848f6cf4;ds=sidebyside diff --git a/base/setup/welcome/welcome.c b/base/setup/welcome/welcome.c index 486074cc01c..fb8cb9aeaae 100644 --- a/base/setup/welcome/welcome.c +++ b/base/setup/welcome/welcome.c @@ -46,6 +46,7 @@ #define TITLE_WIDTH 480 #define TITLE_HEIGHT 93 +#define TOPIC_DESC_LENGTH 1024 /* GLOBALS ******************************************************************/ @@ -238,16 +239,12 @@ ButtonSubclassWndProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) static BOOL RunApplication(int nTopic) { - PROCESS_INFORMATION ProcessInfo; - STARTUPINFO StartupInfo; - TCHAR AppName[256]; - TCHAR CurrentDir[256]; + TCHAR AppName[512]; + TCHAR Parameters[2]; int nLength; InvalidateRect(hwndMain, NULL, TRUE); - GetCurrentDirectory(256, CurrentDir); - nLength = LoadString(hInstance, IDS_TOPICACTION0 + nTopic, AppName, 256); if (nLength == 0) return TRUE; @@ -255,25 +252,18 @@ RunApplication(int nTopic) if (!_tcsicmp(AppName, TEXT(""))) return FALSE; - if (_tcsicmp(AppName, TEXT("explorer.exe")) == 0) - { - _tcscat(AppName, TEXT(" ")); - _tcscat(AppName, CurrentDir); - } - - memset(&StartupInfo, 0, sizeof(STARTUPINFO)); - StartupInfo.cb = sizeof(STARTUPINFO); - StartupInfo.lpTitle = TEXT("Test"); - StartupInfo.dwFlags = STARTF_USESHOWWINDOW; - StartupInfo.wShowWindow = SW_SHOWNORMAL; + if (!_tcsnicmp(AppName, TEXT(""), 5)) + { + MessageBox(hwndMain, AppName + 5, TEXT("ReactOS"), MB_OK | MB_TASKMODAL); + return TRUE; + } - CreateProcess(NULL, AppName, NULL, NULL, FALSE, CREATE_NEW_CONSOLE,NULL, - CurrentDir, - &StartupInfo, - &ProcessInfo); + if (_tcsicmp(AppName, TEXT("explorer.exe")) == 0) + _tcscpy(Parameters, TEXT("\\")); + else + *Parameters = 0; - CloseHandle(ProcessInfo.hProcess); - CloseHandle(ProcessInfo.hThread); + ShellExecute(NULL, TEXT("open"), AppName, Parameters, NULL, SW_SHOWDEFAULT); return TRUE; } @@ -521,7 +511,7 @@ OnPaint(HWND hWnd, WPARAM wParam, LPARAM lParam) HFONT hOldFont; RECT rcTitle, rcDescription; TCHAR szTopicTitle[80]; - TCHAR szTopicDesc[256]; + TCHAR szTopicDesc[TOPIC_DESC_LENGTH]; int nLength; BITMAP bmpInfo; TCHAR version[50]; @@ -605,13 +595,13 @@ OnPaint(HWND hWnd, WPARAM wParam, LPARAM lParam) if (nTopic == -1) { - nLength = LoadString(hInstance, IDS_DEFAULTTOPICDESC, szTopicDesc, 256); + nLength = LoadString(hInstance, IDS_DEFAULTTOPICDESC, szTopicDesc, TOPIC_DESC_LENGTH); } else { - nLength = LoadString(hInstance, IDS_TOPICDESC0 + nTopic, szTopicDesc, 256); + nLength = LoadString(hInstance, IDS_TOPICDESC0 + nTopic, szTopicDesc, TOPIC_DESC_LENGTH); if (nLength == 0) - nLength = LoadString(hInstance, IDS_DEFAULTTOPICDESC, szTopicDesc, 256); + nLength = LoadString(hInstance, IDS_DEFAULTTOPICDESC, szTopicDesc, TOPIC_DESC_LENGTH); } SetBkMode(hdc, TRANSPARENT);