118 lines
3.4 KiB
C
118 lines
3.4 KiB
C
|
/*---------------------------------------------**
|
||
|
** Copyright (c) 1998 Microsoft Corporation **
|
||
|
** All Rights reserved **
|
||
|
** **
|
||
|
** tsreg.c **
|
||
|
** **
|
||
|
** Entry point for TSREG, WinMain. **
|
||
|
** 07-01-98 a-clindh Created **
|
||
|
**---------------------------------------------*/
|
||
|
|
||
|
#include <windows.h>
|
||
|
#include <commctrl.h>
|
||
|
#include <TCHAR.H>
|
||
|
#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
|
||
|
///////////////////////////////////////////////////////////////////////////////
|