ServerListProc.cpp
上传用户:szopptop
上传日期:2013-04-23
资源大小:1047k
文件大小:3k
- #include "stdafx.h"
- extern HINSTANCE g_hInst;
- extern HWND g_hMainWnd;
- BOOL jRegGetKey(LPCTSTR pSubKeyName, LPCTSTR pValueName, LPBYTE pValue);
- LONG jRegEnumKey(LPCTSTR pSubKeyName, int nIndex, LPTSTR lpSubKey, int nSubkeyLen);
- BOOL CALLBACK AddSvrListProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
- void InitListView(HWND hWndDlg)
- {
- LV_ITEM lvi;
- TCHAR szText[64];
- UINT nCount = 0;
- TCHAR szKey[128];
- TCHAR szTitle[64];
- DWORD dwPrivateIP = 0, dwPublicIP = 0;
- UINT nNumberOfGate = 0;
- lvi.mask = LVIF_TEXT;
- lvi.iItem = nCount;
- lvi.iSubItem = 0;
- ZeroMemory(szText, sizeof(szText));
- while (jRegEnumKey(_LOGIN_SERVERLIST_REGISTRY, nCount, szText, sizeof(szText)) != ERROR_NO_MORE_ITEMS)
- {
- lvi.pszText = szText;
- ListView_InsertItem(GetDlgItem(hWndDlg, IDC_SERVERINFO_LIST), &lvi);
- lstrcpy(szKey, _LOGIN_SERVERLIST_REGISTRY);
- lstrcat(szKey, _TEXT("\"));
- lstrcat(szKey, szText);
- jRegGetKey(szKey, _T("Title"), (LPBYTE)szTitle);
- ListView_SetItemText(GetDlgItem(hWndDlg, IDC_SERVERINFO_LIST), nCount, 1, szTitle);
- jRegGetKey(szKey, _T("PrivateIP"), (LPBYTE)dwPrivateIP);
- wsprintf(szText, _TEXT("%d.%d.%d.%d"), FIRST_IPADDRESS(dwPrivateIP), SECOND_IPADDRESS(dwPrivateIP),
- THIRD_IPADDRESS(dwPrivateIP), FOURTH_IPADDRESS(dwPrivateIP));
- ListView_SetItemText(GetDlgItem(hWndDlg, IDC_SERVERINFO_LIST), nCount, 2, szText);
- jRegGetKey(szKey, _T("PublicIP"), (LPBYTE)dwPublicIP);
- wsprintf(szText, _TEXT("%d.%d.%d.%d"), FIRST_IPADDRESS(dwPublicIP), SECOND_IPADDRESS(dwPublicIP),
- THIRD_IPADDRESS(dwPublicIP), FOURTH_IPADDRESS(dwPublicIP));
- ListView_SetItemText(GetDlgItem(hWndDlg, IDC_SERVERINFO_LIST), nCount, 2, szText);
- nCount++;
- }
- /* jRegGetKey(szKey, _T("NumberOfGate"), REG_DWORD, (LPBYTE)&nGateCount, sizeof(UINT));
- jRegSetKey(szKey, szSubKey, REG_SZ, (LPBYTE)szGateList, _tcslen(szGateList));
- */
- }
- BOOL CALLBACK ServerListProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
- {
- static PROPSHEETPAGE *ps;
- switch (uMsg)
- {
- case WM_INITDIALOG:
- {
- ps = (PROPSHEETPAGE *)lParam;
- LV_COLUMN lvc;
- TCHAR szText[64];
- lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
- lvc.fmt = LVCFMT_LEFT;
- lvc.cx = 100;
- lvc.pszText = szText;
- for (int i = 0; i < 5; i++)
- {
- lvc.iSubItem = i;
- LoadString((HINSTANCE)g_hInst, IDS_CONFLVS_LABEL1 + i, szText, sizeof(szText));
-
- ListView_InsertColumn(GetDlgItem(hWndDlg, IDC_SERVERINFO_LIST), i, &lvc);
- }
- ListView_DeleteAllItems(GetDlgItem(hWndDlg, IDC_SERVERINFO_LIST));
- BYTE btInstalled;
- if (jRegGetKey(_LOGIN_SERVER_REGISTRY, _T("Installed"), (LPBYTE)&btInstalled))
- InitListView(hWndDlg);
-
- return TRUE;
- }
- case WM_COMMAND:
- {
- case IDC_SVRLIST_ADD:
- DialogBox(g_hInst, MAKEINTRESOURCE(IDD_SVRLIST_ADD), hWndDlg, (DLGPROC)AddSvrListProc);
- break;
- }
- }
- return FALSE;
- }