ConfigDlgFunc.cpp
上传用户:szopptop
上传日期:2013-04-23
资源大小:1047k
文件大小:3k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. BOOL jRegSetKey(LPCTSTR pSubKeyName, LPCTSTR pValueName, DWORD dwFlags, LPBYTE pValue, DWORD nValueSize);
  3. BOOL jRegGetKey(LPCTSTR pSubKeyName, LPCTSTR pValueName, LPBYTE pValue);
  4. extern HWND g_hMainWnd;
  5. BOOL CALLBACK ConfigDlgFunc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
  6. {
  7. switch (uMsg)
  8. {
  9. case WM_INITDIALOG:
  10. {
  11. RECT rcMainWnd, rcDlg;
  12. GetWindowRect(g_hMainWnd, &rcMainWnd);
  13. GetWindowRect(hWndDlg, &rcDlg);
  14. MoveWindow(hWndDlg, rcMainWnd.left + (((rcMainWnd.right - rcMainWnd.left) - (rcDlg.right - rcDlg.left)) / 2), 
  15. rcMainWnd.top + (((rcMainWnd.bottom - rcMainWnd.top) - (rcDlg.bottom - rcDlg.top)) / 2), 
  16. (rcDlg.right - rcDlg.left), (rcDlg.bottom - rcDlg.top), FALSE);
  17. SendMessage(GetDlgItem(hWndDlg, IDC_LOGINSVR_PORT), EM_LIMITTEXT, (WPARAM)5, (LPARAM)0L);
  18. SendMessage(GetDlgItem(hWndDlg, IDC_LOCALPORT), EM_LIMITTEXT, (WPARAM)5, (LPARAM)0L);
  19. DWORD dwIP = 0;
  20. TCHAR szPort[24];
  21. int nPort = 0;
  22. jRegGetKey(_GAMEGATE_SERVER_REGISTRY, _TEXT("RemoteIP"), (LPBYTE)&dwIP);
  23. SendMessage(GetDlgItem(hWndDlg, IDC_LOGINSVR_IP), IPM_SETADDRESS, (WPARAM)0, (LPARAM)(DWORD)dwIP);
  24. jRegGetKey(_GAMEGATE_SERVER_REGISTRY, _TEXT("RemotePort"), (LPBYTE)&nPort);
  25. _itow(nPort, szPort, 10);
  26. SetWindowText(GetDlgItem(hWndDlg, IDC_LOGINSVR_PORT), szPort);
  27. jRegGetKey(_GAMEGATE_SERVER_REGISTRY, _TEXT("LocalPort"), (LPBYTE)&nPort);
  28. _itow(nPort, szPort, 10);
  29. SetWindowText(GetDlgItem(hWndDlg, IDC_LOCALPORT), szPort);
  30. break;
  31. }
  32. case WM_COMMAND:
  33. {
  34. switch (wParam)
  35. {
  36. case IDOK:
  37. {
  38. DWORD dwIP = 0;
  39. TCHAR szPort[24];
  40. int nRemotePort = 0, nLocalPort = 0;
  41. BYTE btInstalled = 1;
  42. jRegSetKey(_GAMEGATE_SERVER_REGISTRY, _TEXT("Installed"), REG_BINARY, (LPBYTE)&btInstalled, sizeof(BYTE));
  43. SendMessage(GetDlgItem(hWndDlg, IDC_LOGINSVR_IP), IPM_GETADDRESS, (WPARAM)0, (LPARAM)(LPDWORD)&dwIP);
  44. jRegSetKey(_GAMEGATE_SERVER_REGISTRY, _TEXT("RemoteIP"), REG_DWORD, (LPBYTE)&dwIP, sizeof(DWORD));
  45. GetWindowText(GetDlgItem(hWndDlg, IDC_LOGINSVR_PORT), szPort, sizeof(szPort));
  46. nRemotePort = _wtoi(szPort);
  47. GetWindowText(GetDlgItem(hWndDlg, IDC_LOCALPORT), szPort, sizeof(szPort));
  48. nLocalPort = _wtoi(szPort);
  49. jRegSetKey(_GAMEGATE_SERVER_REGISTRY, _TEXT("RemotePort"), REG_DWORD, (LPBYTE)&nRemotePort, sizeof(DWORD));
  50. jRegSetKey(_GAMEGATE_SERVER_REGISTRY, _TEXT("LocalPort"), REG_DWORD, (LPBYTE)&nLocalPort, sizeof(DWORD));
  51. }
  52. case IDCANCEL:
  53. return EndDialog(hWndDlg, IDCANCEL);
  54. }
  55. }
  56. }
  57. return FALSE;
  58. }