📄 clientinfoview.cpp
字号:
void CClientInfoview::OnComputerDelete()
{
// TODO: Add your command handler code here
POSITION pos = m_DataReport.GetFirstSelectedItemPosition();
int nItem;
if (pos == NULL)
{
TRACE0("No items were selected!\n");
return ;
}
else
{
CComputerDelDlg dlg;
CString s=m_DataReport.GetItemText(nItem, COMPUTERNAME_NUM );
if(dlg.DoModal()!=IDOK)
return;
_CommandPtr Cmd1;
Cmd1.CreateInstance( __uuidof( Command ) );
Cmd1->ActiveConnection = m_db;
while(pos!=NULL)
{
nItem = m_DataReport.GetNextSelectedItem(pos);
s=m_DataReport.GetItemText(nItem, IP_ADDRESS_NUM ); //ComputerID
CString sqlStr;
sqlStr="delete from computers where IpAddress='"+s;
sqlStr+="'";
Cmd1->CommandText = sqlStr.AllocSysString();
Cmd1->Execute( NULL, NULL, adCmdText );
// m_DataReport.DeleteItem(nItem); //删除当前记录,这个可能有问题
TRACE1("Item %d was selected!\n", nItem);
}
}
ReFresh();
}
void CClientInfoview::OnComputerInstall()
{
// TODO: Add your command handler code here
POSITION pos = m_DataReport.GetFirstSelectedItemPosition();
int nItem;
if (pos == NULL)
{
TRACE0("No items were selected!\n");
return;
}
else
{
CMainFrame * pMain=(CMainFrame *)AfxGetMainWnd();
while(pos!=NULL)
{
nItem = m_DataReport.GetNextSelectedItem(pos);
CString s=m_DataReport.GetItemText(nItem, ISKILLINSTALLED_NUM );
CString computerid=m_DataReport.GetItemText(nItem, 7 );
CString IP=m_DataReport.GetItemText(nItem, IP_ADDRESS_NUM );
// if(s.Compare("T")!=0)
{
pMain->m_SocketServer.InstallKill(atoi(computerid.GetBuffer(0)),IP.GetBuffer(0),pMain->m_ClientPort,pMain->m_InstallUrl.GetBuffer(0));
}
TRACE1("Item %d was selected!\n", nItem);
}
}
}
void CClientInfoview::OnComputerUninstall()
{
// TODO: Add your command handler code here
POSITION pos = m_DataReport.GetFirstSelectedItemPosition();
int nItem;
if (pos == NULL)
{
TRACE0("No items were selected!\n");
return;
}
else
{
CMainFrame * pMain=(CMainFrame *)AfxGetMainWnd();
while(pos!=NULL)
{
nItem = m_DataReport.GetNextSelectedItem(pos);
CString s=m_DataReport.GetItemText(nItem, ISKILLINSTALLED_NUM );
CString computerid=m_DataReport.GetItemText(nItem, 7 );
CString IP=m_DataReport.GetItemText(nItem, IP_ADDRESS_NUM );
// if(s.Compare("T"))
{
// continue;
// AfxMessageBox("不可卸载,因为还没有安装");
}
// else
{
pMain->m_SocketServer.UnInstallKill(IP.GetBuffer(0),pMain->m_ClientPort,pMain->m_UnInstallUrl.GetBuffer(0));
}
TRACE1("Item %d was selected!\n", nItem);
}
}
}
void CClientInfoview::ReFresh()
{
CMainFrame *pMain=(CMainFrame *)AfxGetMainWnd();
HTREEITEM hTreeCurrent;//当前和父级项句柄
hTreeCurrent=pMain->m_ClientTreeview->m_ClientTree.GetSelectedItem ();
int GroupID=pMain->m_ClientTreeview->m_ClientTree.GetItemData(hTreeCurrent);
ShowClient(GroupID);
}
void CClientInfoview::OnComputerPopupEdit()
{
// TODO: Add your command handler code here
POSITION pos = m_DataReport.GetFirstSelectedItemPosition();
int nItem;
if (pos == NULL)
{
TRACE0("No items were selected!\n");
return;
}
else
{
nItem = m_DataReport.GetNextSelectedItem(pos);
TRACE1("Item %d was selected!\n", nItem);
}
CComputerAddDlg dlg;
CString sqlStr="select * FROM Computers where IpAddress = '"+m_DataReport.GetItemText(nItem, IP_ADDRESS_NUM );
sqlStr+="'";
_variant_t varSQLtcp(sqlStr);
HRESULT hTRes;
_RecordsetPtr m_pTreeRecordset; //用于创建一个查询记录集
hTRes = m_pTreeRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pTreeRecordset->Open(varSQLtcp,
_variant_t((IDispatch *)m_db,true),
adOpenStatic,adLockOptimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
TRACE(_T("连接成功!\n"));
//------------------------------------------
if (!(m_pTreeRecordset->adoEOF))
{
m_pTreeRecordset->MoveFirst();
dlg.m_ComputerId=m_pTreeRecordset->GetCollect("ComputerId").iVal;
dlg.m_ComputerGroupId=m_pTreeRecordset->GetCollect("ComputerGroupId").iVal;
dlg.m_ComputerName=m_pTreeRecordset->GetCollect("ComputerName").bstrVal;
dlg.m_IpAddress=m_pTreeRecordset->GetCollect("IpAddress").bstrVal;
dlg.m_MacAddress=m_pTreeRecordset->GetCollect("MacAddress").bstrVal;
dlg.m_OsType=m_pTreeRecordset->GetCollect("OsType").bstrVal;
dlg.m_ServerPack=m_pTreeRecordset->GetCollect("ServerPack").bstrVal;
dlg.m_IEVersion=m_pTreeRecordset->GetCollect("IEVersion").bstrVal;
dlg.m_Langu=m_pTreeRecordset->GetCollect("Langu").bstrVal;
dlg.m_CpuType=m_pTreeRecordset->GetCollect("CpuType").bstrVal;
dlg.m_CpuFreq=m_pTreeRecordset->GetCollect("CpuFreq").bstrVal;
dlg.m_Memory=m_pTreeRecordset->GetCollect("Memory").bstrVal;
dlg.m_DiskSize=m_pTreeRecordset->GetCollect("DiskSize").bstrVal;
dlg.m_FreeDiskSize=m_pTreeRecordset->GetCollect("FreeDiskSize").bstrVal;
dlg.m_KillVersion=m_pTreeRecordset->GetCollect("KillVersion").bstrVal;
dlg.m_isInstallKill=(BOOL)(bool)m_pTreeRecordset->GetCollect("isInstallKill").boolVal;
dlg.m_isRunKill=(BOOL)(bool)m_pTreeRecordset->GetCollect("isRunKill").boolVal;
dlg.m_isRunComputer=(BOOL)(bool)m_pTreeRecordset->GetCollect("isRunComputer").boolVal;
dlg.m_isRegister=(BOOL)(bool)m_pTreeRecordset->GetCollect("isRegister").boolVal;
dlg.m_Cmd_Install=(BOOL)(bool)m_pTreeRecordset->GetCollect("Cmd_Install").boolVal;
dlg.m_Cmd_Uninstall=(BOOL)(bool)m_pTreeRecordset->GetCollect("Cmd_Uninstall").boolVal;
}
}
else
return;
}
else
return;
if(dlg.DoModal()==IDOK)
{
CString sqlStr;
sqlStr="Update Computers set ComputerGroupId=?,ComputerName=?,IpAddress=?,MacAddress=?,OsType=?,ServerPack=?,IEVersion=?,Langu=?,CpuType=?,CpuFreq=?,Memory=?,DiskSize=?,FreeDiskSize=?,KillVersion=?,isInstallKill=?,isRunKill=?,isRunComputer=?,isRegister=?,Cmd_Install=?,Cmd_Uninstall=? , IpAddressNum=? ";
sqlStr+=" where IpAddress = '"+m_DataReport.GetItemText(nItem, IP_ADDRESS_NUM );
sqlStr+="'";
_CommandPtr Cmd1;
_ParameterPtr Param1,Param2,Param3,Param4,Param5,Param6,Param7,Param8,Param9,Param10,Param11,Param12,Param13,Param14,Param15,Param16,Param17,Param18,Param19,Param20,Param21,Param22;
try
{
Cmd1.CreateInstance( __uuidof( Command ) );
Cmd1->ActiveConnection = m_db;
Cmd1->CommandText = sqlStr.AllocSysString();
VARIANT v,bv;
v.vt=VT_I2;
v.iVal=dlg.m_ComputerId;
Param1 = Cmd1->CreateParameter("ComputerId",adInteger,adParamInput,-1,v );
v.iVal=dlg.m_ComputerGroupId;
Param2 = Cmd1->CreateParameter("ComputerGroupId",adInteger,adParamInput,-1,v );
Param3 = Cmd1->CreateParameter("ComputerName",adBSTR,adParamInput,-1,dlg.m_ComputerName.AllocSysString() );
Param4 = Cmd1->CreateParameter("IpAddress",adBSTR,adParamInput,-1,dlg.m_IpAddress.AllocSysString() );
v.vt=VT_UI4;
v.ulVal=inet_addr(dlg.m_IpAddress.GetBuffer(0));
Param22=Cmd1->CreateParameter("IpAddressNum",adInteger,adParamInput,-1,v );
Param5 = Cmd1->CreateParameter("MacAddress",adBSTR,adParamInput,-1,dlg.m_MacAddress.AllocSysString() );
Param6 = Cmd1->CreateParameter("OsType",adBSTR,adParamInput,-1,dlg.m_OsType.AllocSysString() );
Param7 = Cmd1->CreateParameter("ServerPack",adBSTR,adParamInput,-1,dlg.m_ServerPack.AllocSysString() );
Param8 = Cmd1->CreateParameter("IEVersion",adBSTR,adParamInput,-1,dlg.m_IEVersion.AllocSysString() );
Param9 = Cmd1->CreateParameter("Langu",adBSTR,adParamInput,-1,dlg.m_Langu.AllocSysString() );
Param10 = Cmd1->CreateParameter("CpuType",adBSTR,adParamInput,-1,dlg.m_CpuType.AllocSysString() );
Param11 = Cmd1->CreateParameter("CpuFreq",adBSTR,adParamInput,-1,dlg.m_CpuFreq.AllocSysString() );
Param12 = Cmd1->CreateParameter("Memory",adBSTR,adParamInput,-1,dlg.m_Memory.AllocSysString() );
Param13 = Cmd1->CreateParameter("DiskSize",adBSTR,adParamInput,-1,dlg.m_DiskSize.AllocSysString() );
Param14 = Cmd1->CreateParameter("FreeDiskSize",adBSTR,adParamInput,-1,dlg.m_FreeDiskSize.AllocSysString() );
Param15 = Cmd1->CreateParameter("KillVersion",adBSTR,adParamInput,-1,dlg.m_KillVersion.AllocSysString() );
bv.vt=VT_BOOL;
bv.boolVal=(int)dlg.m_isInstallKill;
Param16 = Cmd1->CreateParameter("isInstallKill",adBoolean,adParamInput,-1,bv );
bv.boolVal=(int)dlg.m_isRunKill;
Param17 = Cmd1->CreateParameter("isRunKill",adBoolean,adParamInput,-1,bv );
bv.boolVal=(int)dlg.m_isRunComputer;
Param18 = Cmd1->CreateParameter("isRunComputer",adBoolean,adParamInput,-1,bv );
bv.boolVal=(int)dlg.m_isRegister;
Param19 = Cmd1->CreateParameter("isRegister",adBoolean,adParamInput,-1,bv );
bv.boolVal=(int)dlg.m_Cmd_Install;
Param20 = Cmd1->CreateParameter("Cmd_Install",adBoolean,adParamInput,-1,bv );
bv.boolVal=(int)dlg.m_Cmd_Uninstall;
Param21 = Cmd1->CreateParameter("Cmd_Uninstall",adBoolean,adParamInput,-1,v );
Cmd1->Parameters->Append( Param2 );
Cmd1->Parameters->Append( Param3 );
Cmd1->Parameters->Append( Param4 );
Cmd1->Parameters->Append( Param5 );
Cmd1->Parameters->Append( Param6 );
Cmd1->Parameters->Append( Param7 );
Cmd1->Parameters->Append( Param8 );
Cmd1->Parameters->Append( Param9 );
Cmd1->Parameters->Append( Param10 );
Cmd1->Parameters->Append( Param11 );
Cmd1->Parameters->Append( Param12 );
Cmd1->Parameters->Append( Param13 );
Cmd1->Parameters->Append( Param14 );
Cmd1->Parameters->Append( Param15 );
Cmd1->Parameters->Append( Param16 );
Cmd1->Parameters->Append( Param17 );
Cmd1->Parameters->Append( Param18 );
Cmd1->Parameters->Append( Param19 );
Cmd1->Parameters->Append( Param20 );
Cmd1->Parameters->Append( Param21 );
Cmd1->Parameters->Append( Param22 );
/**/
Cmd1->CommandText = sqlStr.AllocSysString();
Cmd1->Execute( NULL, NULL, adCmdText );
}
catch(...)
{
AfxMessageBox("修改过程中数据冲突,可能是有重复的IP地址");
}
}
ReFresh();
}
//移动计算机到另外一个组
void CClientInfoview::OnChangepareng()
{
// TODO: Add your command handler code here
CComputerChangeDlg Dlg;
POSITION pos = m_DataReport.GetFirstSelectedItemPosition();
int nItem;
if (pos == NULL)
{
TRACE0("No items were selected!\n");
return ;
}
else
{
nItem = m_DataReport.GetNextSelectedItem(pos);
TRACE1("Item %d was selected!\n", nItem);
}
CString s=m_DataReport.GetItemText(nItem, COMPUTERID_NUM ); //ComputerID
Dlg.m_ComputerId=s;
Dlg.m_ComputerIP=m_DataReport.GetItemText(nItem, IP_ADDRESS_NUM ); //ComputerID
Dlg.DoModal();
}
void CClientInfoview::ChangeParent(CString ComputerID, CString IP, int targetGroupID)
{
CString sqlStr;
sqlStr.Format("update computers set ComputerGroupId=%d where IpAddress ='",targetGroupID);
sqlStr+=IP+"'";
try
{
POSITION pos = m_DataReport.GetFirstSelectedItemPosition();
int nItem;
_CommandPtr Cmd1;
Cmd1.CreateInstance( __uuidof( Command ) );
Cmd1->ActiveConnection = m_db;
if (pos == NULL)
{
TRACE0("No items were selected!\n");
return ;
}
else
{
while(pos != NULL)
{
nItem = m_DataReport.GetNextSelectedItem(pos);
TRACE1("Item %d was selected!\n", nItem);
m_DataReport.GetItemText(nItem, IP_ADDRESS_NUM ); //ComputerID
sqlStr.Format("update computers set ComputerGroupId=%d where IpAddress ='",targetGroupID);
sqlStr+=m_DataReport.GetItemText(nItem, IP_ADDRESS_NUM )+"'";
Cmd1->CommandText = sqlStr.AllocSysString();
Cmd1->Execute( NULL, NULL, adCmdText );
}
}
}
catch(...)
{
}
ReFresh();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -