NewMachineDlg.cpp
上传用户:jinandeyu
上传日期:2007-01-05
资源大小:620k
文件大小:4k
源码类别:

远程控制编程

开发平台:

WINDOWS

  1. /*  Back Orifice 2000 - Remote Administration Suite
  2.     Copyright (C) 1999, Cult Of The Dead Cow
  3.     This program is free software; you can redistribute it and/or modify
  4.     it under the terms of the GNU General Public License as published by
  5.     the Free Software Foundation; either version 2 of the License, or
  6.     (at your option) any later version.
  7.     This program is distributed in the hope that it will be useful,
  8.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  9.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  10.     GNU General Public License for more details.
  11.     You should have received a copy of the GNU General Public License
  12.     along with this program; if not, write to the Free Software
  13.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  14. The author of this program may be contacted at dildog@l0pht.com. */
  15. // NewMachineDlg.cpp : implementation file
  16. //
  17. #include "stdafx.h"
  18. #include "bo2kgui.h"
  19. #include "MainFrm.h"
  20. #include "NewMachineDlg.h"
  21. #ifdef _DEBUG
  22. #define new DEBUG_NEW
  23. #undef THIS_FILE
  24. static char THIS_FILE[] = __FILE__;
  25. #endif
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CNewMachineDlg dialog
  28. CNewMachineDlg::CNewMachineDlg(CWnd* pParent /*=NULL*/)
  29. : CDialog(CNewMachineDlg::IDD, pParent)
  30. {
  31. //{{AFX_DATA_INIT(CNewMachineDlg)
  32. m_strSvrAddr = _T("");
  33. m_nEncryption = -1;
  34. m_nConnType = -1;
  35. m_strMachineName = _T("");
  36. m_nAuthHandler = -1;
  37. //}}AFX_DATA_INIT
  38. m_strSelectedIO=_T("");
  39. m_strSelectedEnc=_T("");
  40. m_strSelectedAuth=_T("");
  41. }
  42. void CNewMachineDlg::DoDataExchange(CDataExchange* pDX)
  43. {
  44. CDialog::DoDataExchange(pDX);
  45. //{{AFX_DATA_MAP(CNewMachineDlg)
  46. DDX_Text(pDX, IDC_SERVER_ADDRESS, m_strSvrAddr);
  47. DDV_MaxChars(pDX, m_strSvrAddr, 512);
  48. DDX_CBIndex(pDX, IDC_ENCRYPTION_ENGINE, m_nEncryption);
  49. DDX_CBIndex(pDX, IDC_CONNECTION_TYPE, m_nConnType);
  50. DDX_Text(pDX, IDC_MACHINENAME, m_strMachineName);
  51. DDV_MaxChars(pDX, m_strMachineName, 64);
  52. DDX_CBIndex(pDX, IDC_AUTH_HANDLER, m_nAuthHandler);
  53. //}}AFX_DATA_MAP
  54. }
  55. BEGIN_MESSAGE_MAP(CNewMachineDlg, CDialog)
  56. //{{AFX_MSG_MAP(CNewMachineDlg)
  57. //}}AFX_MSG_MAP
  58. END_MESSAGE_MAP()
  59. /////////////////////////////////////////////////////////////////////////////
  60. // CNewMachineDlg message handlers
  61. void CNewMachineDlg::OnOK() 
  62. {
  63. CComboBox *ccb;
  64. ccb=(CComboBox *)GetDlgItem(IDC_CONNECTION_TYPE);
  65. m_strSelectedIO=g_pIOHandler->Query(ccb->GetItemData(ccb->GetCurSel()));
  66. ccb=(CComboBox *)GetDlgItem(IDC_ENCRYPTION_ENGINE);
  67. m_strSelectedEnc=g_pEncryptionHandler->Query(ccb->GetItemData(ccb->GetCurSel()));
  68. ccb=(CComboBox *)GetDlgItem(IDC_AUTH_HANDLER);
  69. m_strSelectedAuth=g_pAuthHandler->Query(ccb->GetItemData(ccb->GetCurSel()));
  70. CDialog::OnOK();
  71. }
  72. BOOL CNewMachineDlg::OnInitDialog() 
  73. {
  74. int i;
  75. CComboBox *ccb;
  76. CDialog::OnInitDialog();
  77. // Add connection types
  78. ccb=(CComboBox *)GetDlgItem(IDC_CONNECTION_TYPE);
  79. if(ccb==NULL) return FALSE;
  80. for(i=0;i<MAX_IO_HANDLERS;i++) {
  81. char *txt;
  82. txt=g_pIOHandler->Query(i);
  83. if(txt!=NULL) {
  84. ccb->InsertString(0,txt);
  85. ccb->SetItemData(0,i);
  86. if(lstrcmp(txt,m_strSelectedIO)==0) {
  87. ccb->SetCurSel(0);
  88. }
  89. }
  90. }
  91. if(ccb->GetCurSel()==CB_ERR) ccb->SetCurSel(0);
  92. // Add Encryption Types
  93. ccb=(CComboBox *)GetDlgItem(IDC_ENCRYPTION_ENGINE);
  94. if(ccb==NULL) return FALSE;
  95. for(i=0;i<MAX_ENCRYPTION_ENGINES;i++) {
  96. char *txt;
  97. txt=g_pEncryptionHandler->Query(i);
  98. if(txt!=NULL) {
  99. ccb->InsertString(0,txt);
  100. ccb->SetItemData(0,i);
  101. if(lstrcmp(txt,m_strSelectedEnc)==0) {
  102. ccb->SetCurSel(0);
  103. }
  104. }
  105. }
  106. if(ccb->GetCurSel()==CB_ERR) ccb->SetCurSel(0);
  107. // Add Authentication Types
  108. ccb=(CComboBox *)GetDlgItem(IDC_AUTH_HANDLER);
  109. if(ccb==NULL) return FALSE;
  110. for(i=0;i<MAX_AUTH_HANDLERS;i++) {
  111. char *txt=g_pAuthHandler->Query(i);
  112. if(txt!=NULL) {
  113. ccb->InsertString(0,txt);
  114. ccb->SetItemData(0,i);
  115. if(lstrcmp(txt,m_strSelectedAuth)==0) {
  116. ccb->SetCurSel(0);
  117. }
  118. }
  119. }
  120. if(ccb->GetCurSel()==CB_ERR) ccb->SetCurSel(0);
  121. return TRUE;  // return TRUE unless you set the focus to a control
  122.               // EXCEPTION: OCX Property Pages should return FALSE
  123. }