/*---------------------------------------------** ** Copyright (c) 1998 Microsoft Corporation ** ** All Rights reserved ** ** ** ** tsreg.c ** ** ** ** Entry point for TSREG, WinMain. ** ** 07-01-98 a-clindh Created ** **---------------------------------------------*/ #include #include #include #include "resource.h" #include "tsreg.h" HINSTANCE g_hInst; TCHAR g_lpszPath[MAX_PATH]; /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { TCHAR lpszRegPath[MAX_PATH]; TCHAR lpszBuf[MAX_PATH]; HKEY hKey; INITCOMMONCONTROLSEX cmctl; TCHAR AppBasePath[MAX_PATH]; int nPathLen; /************************************************************************/ // Grab the app's executable path. // Note that the end backslash remains. /************************************************************************/ nPathLen = GetModuleFileName(hInstance, AppBasePath, MAX_PATH); if (nPathLen > 0) { // Strip the module name off the end to leave the executable // directory path, by looking for the last backslash. nPathLen--; while (nPathLen != 0) { if (AppBasePath[nPathLen] != _T('\\')) { nPathLen--; continue; } nPathLen++; break; } } // // Check that the path is not too long to contain the base path // if (nPathLen + MAXKEYSIZE > MAX_PATH) { TCHAR lpszText[MAXTEXTSIZE]; LoadString(hInstance, IDS_PATH_TOO_LONG, lpszText, MAXTEXTSIZE); MB(lpszText); nPathLen = 0; } AppBasePath[nPathLen] = '\0'; // // Append the name of the help file to the app path and // copy it to the global variable. // _tcscat(AppBasePath, TEXT("tsreg.hlp")); _tcscpy(g_lpszPath, AppBasePath); cmctl.dwICC = ICC_TAB_CLASSES | ICC_BAR_CLASSES; cmctl.dwSize = sizeof(INITCOMMONCONTROLSEX); InitCommonControlsEx(&cmctl); // // make sure Windows Terminal Server client is installed first. // LoadString (hInstance, IDS_PROFILE_PATH, lpszRegPath, sizeof (lpszRegPath)); LoadString (hInstance, IDS_START_ERROR, lpszBuf, sizeof (lpszBuf)); if (RegOpenKeyEx(HKEY_CURRENT_USER, lpszRegPath, 0, KEY_ALL_ACCESS, &hKey) != ERROR_SUCCESS) { MessageBox(NULL, lpszBuf, NULL, MB_OK | MB_ICONEXCLAMATION); RegCloseKey(hKey); return 1; } #ifdef USE_STRING_TABLE { int i; // // load string table values into g_KeyInfo data structure // for (i = KEYSTART; i < (KEYEND + 1); i++) { LoadString (hInstance, i, g_KeyInfo[i - KEYSTART].Key, sizeof (g_KeyInfo[i - KEYSTART].Key)); } } #endif g_hInst = hInstance; CreatePropertySheet(NULL); return 0; } // end of file ///////////////////////////////////////////////////////////////////////////////