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. BOOL CALLBACK ConfigDlgFunc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
  5. {
  6. switch (uMsg)
  7. {
  8. case WM_INITDIALOG:
  9. {
  10. RECT rcMainWnd, rcDlg;
  11. GetWindowRect(g_hMainWnd, &rcMainWnd);
  12. GetWindowRect(hWndDlg, &rcDlg);
  13. MoveWindow(hWndDlg, rcMainWnd.left + (((rcMainWnd.right - rcMainWnd.left) - (rcDlg.right - rcDlg.left)) / 2), 
  14. rcMainWnd.top + (((rcMainWnd.bottom - rcMainWnd.top) - (rcDlg.bottom - rcDlg.top)) / 2), 
  15. (rcDlg.right - rcDlg.left), (rcDlg.bottom - rcDlg.top), FALSE);
  16. SendMessage(GetDlgItem(hWndDlg, IDC_DBSRV_PORT), EM_LIMITTEXT, (WPARAM)5, (LPARAM)0L);
  17. DWORD dwIP = 0;
  18. TCHAR szPort[24];
  19. TCHAR szServer[24];
  20. TCHAR szPath[256];
  21. TCHAR szDatabase[256];
  22. int nPort = 0, nServerNum = 0;
  23. jRegGetKey(_GAME_SERVER_REGISTRY, _TEXT("DBServerIP"), (LPBYTE)&dwIP);
  24. SendMessage(GetDlgItem(hWndDlg, IDC_DBSVR_IP), IPM_SETADDRESS, (WPARAM)0, (LPARAM)(DWORD)dwIP);
  25. jRegGetKey(_GAME_SERVER_REGISTRY, _TEXT("DBServerPort"), (LPBYTE)&nPort);
  26. _itow(nPort, szPort, 10);
  27. SetWindowText(GetDlgItem(hWndDlg, IDC_DBSRV_PORT), szPort);
  28. jRegGetKey(_GAME_SERVER_REGISTRY, _TEXT("ServerNumber"), (LPBYTE)&nServerNum);
  29. _itow(nServerNum, szServer, 10);
  30. SetWindowText(GetDlgItem(hWndDlg, IDC_SRVNUMBER), szServer);
  31. jRegGetKey(_GAME_SERVER_REGISTRY, _TEXT("MapFileLoc"), (LPBYTE)szPath);
  32. SetWindowText(GetDlgItem(hWndDlg, IDC_MAPFILE_LOC), szPath);
  33. jRegGetKey(_GAME_SERVER_REGISTRY, _TEXT("Device"), (LPBYTE)szDatabase);
  34. SetWindowText(GetDlgItem(hWndDlg, IDC_DBMS_DEVICE), szDatabase);
  35. break;
  36. }
  37. case WM_COMMAND:
  38. {
  39. switch (wParam)
  40. {
  41. case IDOK:
  42. {
  43. DWORD dwIP = 0;
  44. TCHAR szPort[24];
  45. TCHAR szServer[24];
  46. TCHAR szPath[256];
  47. TCHAR szDatabase[256];
  48. int nRemotePort = 0, nServerNum = 0;
  49. BYTE btInstalled = 1;
  50. jRegSetKey(_GAME_SERVER_REGISTRY, _TEXT("Installed"), REG_BINARY, (LPBYTE)&btInstalled, sizeof(BYTE));
  51. GetWindowText(GetDlgItem(hWndDlg, IDC_SRVNUMBER), szServer, sizeof(szServer));
  52. nServerNum = _wtoi(szServer);
  53. jRegSetKey(_GAME_SERVER_REGISTRY, _TEXT("ServerNumber"), REG_DWORD, (LPBYTE)&nServerNum, sizeof(DWORD));
  54. SendMessage(GetDlgItem(hWndDlg, IDC_DBSVR_IP), IPM_GETADDRESS, (WPARAM)0, (LPARAM)(LPDWORD)&dwIP);
  55. jRegSetKey(_GAME_SERVER_REGISTRY, _TEXT("DBServerIP"), REG_DWORD, (LPBYTE)&dwIP, sizeof(DWORD));
  56. GetWindowText(GetDlgItem(hWndDlg, IDC_DBSRV_PORT), szPort, sizeof(szPort));
  57. nRemotePort = _wtoi(szPort);
  58. jRegSetKey(_GAME_SERVER_REGISTRY, _TEXT("DBServerPort"), REG_DWORD, (LPBYTE)&nRemotePort, sizeof(DWORD));
  59. GetWindowText(GetDlgItem(hWndDlg, IDC_MAPFILE_LOC), szPath, sizeof(szPath));
  60. jRegSetKey(_GAME_SERVER_REGISTRY, _TEXT("MapFileLoc"), REG_SZ, (LPBYTE)szPath, sizeof(szPath)/sizeof(TCHAR));
  61. GetWindowText(GetDlgItem(hWndDlg, IDC_DBMS_DEVICE), szDatabase, sizeof(szDatabase));
  62. jRegSetKey(_GAME_SERVER_REGISTRY, _TEXT("Device"), REG_SZ, (LPBYTE)szDatabase, sizeof(szDatabase)/sizeof(TCHAR));
  63. }
  64. case IDCANCEL:
  65. return EndDialog(hWndDlg, IDCANCEL);
  66. }
  67. break;
  68. }
  69. }
  70. return FALSE;
  71. }