mirror of
https://github.com/reactos/reactos.git
synced 2025-07-24 13:53:41 +00:00
Check the registry for previous servers and fill the combobox with them.
svn path=/trunk/; revision=30185
This commit is contained in:
parent
8818f37891
commit
6cb7ffabfb
3 changed files with 89 additions and 9 deletions
|
@ -24,6 +24,8 @@
|
|||
#include <tchar.h>
|
||||
#include "resource.h"
|
||||
|
||||
#define MAX_KEY_NAME 255
|
||||
|
||||
/* As slider control can't contain user data, we have to keep an
|
||||
* array of RESOLUTION_INFO to have our own associated data.
|
||||
*/
|
||||
|
@ -96,6 +98,84 @@ void OnTabWndSelChange(PINFO pInfo)
|
|||
}
|
||||
}
|
||||
|
||||
static VOID
|
||||
FillServerAddesssCombo(PINFO pInfo)
|
||||
{
|
||||
HKEY hKey;
|
||||
TCHAR KeyName[] = _T("Software\\Microsoft\\Terminal Server Client\\Default");
|
||||
TCHAR Name[MAX_KEY_NAME];
|
||||
LONG ret = ERROR_SUCCESS;
|
||||
DWORD size;
|
||||
INT i = 0;
|
||||
|
||||
if (RegOpenKeyEx(HKEY_CURRENT_USER,
|
||||
KeyName,
|
||||
0,
|
||||
KEY_READ,
|
||||
&hKey) == ERROR_SUCCESS)
|
||||
{
|
||||
while (ret == ERROR_SUCCESS)
|
||||
{
|
||||
size = MAX_KEY_NAME;
|
||||
ret = RegEnumValue(hKey,
|
||||
i,
|
||||
Name,
|
||||
&size,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL);
|
||||
if (ret == ERROR_SUCCESS)
|
||||
{
|
||||
size = MAX_KEY_NAME;
|
||||
if (RegQueryValueEx(hKey,
|
||||
Name,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
&size) == ERROR_SUCCESS)
|
||||
{
|
||||
LPTSTR lpAddress = HeapAlloc(GetProcessHeap(),
|
||||
0,
|
||||
size);
|
||||
if (lpAddress)
|
||||
{
|
||||
if (RegQueryValueEx(hKey,
|
||||
Name,
|
||||
0,
|
||||
NULL,
|
||||
lpAddress,
|
||||
&size) == ERROR_SUCCESS)
|
||||
{
|
||||
SendDlgItemMessage(pInfo->hGeneralPage,
|
||||
IDC_SERVERCOMBO,
|
||||
CB_ADDSTRING,
|
||||
0,
|
||||
lpAddress);
|
||||
}
|
||||
|
||||
HeapFree(GetProcessHeap(),
|
||||
0,
|
||||
lpAddress);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
if (LoadString(hInst,
|
||||
IDS_BROWSESERVER,
|
||||
Name,
|
||||
sizeof(Name) / sizeof(TCHAR)))
|
||||
{
|
||||
SendDlgItemMessage(pInfo->hGeneralPage, IDC_SERVERCOMBO, CB_ADDSTRING, 0, Name);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static VOID
|
||||
GeneralOnInit(PINFO pInfo)
|
||||
|
@ -109,11 +189,11 @@ GeneralOnInit(PINFO pInfo)
|
|||
SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSIZE | SWP_NOZORDER);
|
||||
|
||||
pInfo->hLogon = LoadImage(hInst,
|
||||
MAKEINTRESOURCE(IDI_LOGON),
|
||||
IMAGE_ICON,
|
||||
32,
|
||||
32,
|
||||
LR_DEFAULTCOLOR);
|
||||
MAKEINTRESOURCE(IDI_LOGON),
|
||||
IMAGE_ICON,
|
||||
32,
|
||||
32,
|
||||
LR_DEFAULTCOLOR);
|
||||
if (pInfo->hLogon)
|
||||
{
|
||||
SendDlgItemMessage(pInfo->hGeneralPage,
|
||||
|
@ -138,9 +218,7 @@ GeneralOnInit(PINFO pInfo)
|
|||
0);
|
||||
}
|
||||
|
||||
SetDlgItemText(pInfo->hGeneralPage,
|
||||
IDC_SERVERCOMBO,
|
||||
g_servername);
|
||||
FillServerAddesssCombo(pInfo);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ BEGIN
|
|||
LTEXT "Enter the server address",IDC_STATIC,47,24,81,8
|
||||
LTEXT "Server:",IDC_STATIC,47,41,25,8
|
||||
LTEXT "User name:",IDC_STATIC,47,58,38,8
|
||||
COMBOBOX IDC_SERVERCOMBO,79,39,141,30,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_SERVERCOMBO,79,39,141,150,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "Save",IDC_SAVE,67,139,50,14
|
||||
PUSHBUTTON "SaveAs...",IDC_SAVEAS,123,139,50,14
|
||||
PUSHBUTTON "Open...",IDC_OPEN,177,139,50,14
|
||||
|
@ -59,4 +59,5 @@ BEGIN
|
|||
IDS_HIGHCOLOR24 "True Color (24 bit)"
|
||||
IDS_PIXEL "%lux%lu Pixels"
|
||||
IDS_FULLSCREEN "Full Screen"
|
||||
IDS_BROWSESERVER "<Browse for more...>"
|
||||
END
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#define IDS_TAB_GENERAL 3001
|
||||
#define IDS_PIXEL 3006
|
||||
#define IDS_FULLSCREEN 3007
|
||||
#define IDS_BROWSESERVER 3008
|
||||
|
||||
#define IDS_256COLORS 4000
|
||||
#define IDS_HIGHCOLOR15 4001
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue