📄 serverpatch.cpp
字号:
item.lParam = port;
c_AllList.InsertItem(&item);
c_SelectList.GetItemText(nItem,1,str,128);
//Port 锅龋
item.mask = LVIF_TEXT;
item.iSubItem = 1;
item.pszText = str;
c_AllList.SetItem(&item);
c_SelectList.GetItemText(nItem,2,str,128);
//泅犁 惑怕
item.mask = LVIF_TEXT;
item.iSubItem = 2;
item.pszText = str;
c_AllList.SetItem(&item);
c_SelectList.GetItemText(nItem,3,str,128);
//辑滚鸥涝
item.mask = LVIF_TEXT;
item.iSubItem = 3;
item.pszText = str;
c_AllList.SetItem(&item);
c_SelectList.GetItemText(nItem,4,str,128);
//System
item.mask = LVIF_TEXT;
item.iSubItem = 4;
item.pszText = str;
c_AllList.SetItem(&item);
c_SelectList.DeleteItem(nItem);
count++;
//盖 关栏肺 胶农费官 捞悼..
POINT point;
CHeaderCtrl* pHeader = (CHeaderCtrl*)c_AllList.GetDlgItem(0);
RECT rect;
pHeader->GetClientRect( &rect );
int header = rect.bottom;
c_AllList.GetItemPosition(i, &point);
c_AllList.Scroll(CSize(0, point.y - header));
}
}
CountConnectServer();
*/
}
void CServerPatch::MoveToSelectEachServer(int nServerType)
{
int nItem,port,i=0,count=0;
LVITEM item;
char str[128];
char* type[4] = {"PROXY","AGENT","DBDEMON","MAP"};
int num = c_AllList.GetItemCount();
for(int k=0; k<num; k++)
{
nItem = k - count;
c_AllList.GetItemText(nItem,3,str,128);
if(!strcmp(str, type[ nServerType ]))
{
port = atoi(c_AllList.GetItemText(nItem,1));
i = c_SelectList.GetItemCount();
c_AllList.GetItemText(nItem,0,str,128);
//辑滚疙
item.mask = LVIF_TEXT | LVIF_PARAM;
item.pszText = str;
item.iItem = i; //青锅龋
item.iSubItem = 0; //凯锅龋
item.lParam = port;
c_SelectList.InsertItem(&item);
c_AllList.GetItemText(nItem,1,str,128);
//Port 锅龋
item.mask = LVIF_TEXT;
item.iSubItem = 1;
item.pszText = str;
c_SelectList.SetItem(&item);
c_AllList.GetItemText(nItem,2,str,128);
//泅犁 惑怕
item.mask = LVIF_TEXT;
item.iSubItem = 2;
item.pszText = str;
c_SelectList.SetItem(&item);
c_AllList.GetItemText(nItem,3,str,128);
//辑滚鸥涝
item.mask = LVIF_TEXT;
item.iSubItem = 3;
item.pszText = str;
c_SelectList.SetItem(&item);
c_AllList.GetItemText(nItem,4,str,128);
//System
item.mask = LVIF_TEXT;
item.iSubItem = 4;
item.pszText = str;
c_SelectList.SetItem(&item);
c_AllList.GetItemText(nItem,5,str,128);
//Ip
item.mask = LVIF_TEXT;
item.iSubItem = 5;
item.pszText = str;
c_SelectList.SetItem(&item);
//nItem = nItem - count + 1;
c_AllList.DeleteItem(nItem);
count++;
//盖 关栏肺 胶农费官 捞悼..
POINT point;
CHeaderCtrl* pHeader = (CHeaderCtrl*)c_SelectList.GetDlgItem(0);
RECT rect;
pHeader->GetClientRect( &rect );
int header = rect.bottom;
c_SelectList.GetItemPosition(i, &point);
c_SelectList.Scroll(CSize(0, point.y - header));
}
}
CountConnectServer();
}
void CServerPatch::OnRadioShutdown()
{
// TODO: Add your control notification handler code here
if(m_nRadioShutDown != 0)
{
c_SelectList.DeleteAllItems();
RefreshServerList();
MoveToSelectEachServer(3);
}
UpdateData(TRUE);
m_CheckAgent = 0;
m_CheckMap = 1;
m_CheckDBDemon = 0;
UpdateData(FALSE);
}
//ShutDown-Agent Radio
void CServerPatch::OnRadio2()
{
// TODO: Add your control notification handler code here
if(m_nRadioShutDown != 1)
{
c_SelectList.DeleteAllItems();
//RefreshServerList();
RefreshServerListOnlyAllServerList();
MoveToSelectEachServer(1);
}
UpdateData(TRUE);
m_CheckAgent = 1;
m_CheckMap = 0;
m_CheckDBDemon = 0;
UpdateData(FALSE);
}
//ShutDown-DBDemon Radio
void CServerPatch::OnRadio3()
{
// TODO: Add your control notification handler code here
if(m_nRadioShutDown != 2)
{
c_SelectList.DeleteAllItems();
RefreshServerListOnlyAllServerList();
MoveToSelectEachServer(2);
}
UpdateData(TRUE);
m_CheckAgent = 0;
m_CheckMap = 0;
m_CheckDBDemon = 1;
UpdateData(FALSE);
}
//ShutDown-Proxy Radio
void CServerPatch::OnRadio4()
{
// TODO: Add your control notification handler code here
if(m_nRadioShutDown != 3)
{
c_SelectList.DeleteAllItems();
RefreshServerListOnlyAllServerList();
MoveToSelectEachServer(0);
}
UpdateData(TRUE);
m_CheckAgent = 0;
m_CheckMap = 0;
m_CheckDBDemon = 0;
UpdateData(FALSE);
}
//ShutDown-Selected
void CServerPatch::OnRadio5()
{
// TODO: Add your control notification handler code here
if(m_nRadioShutDown != 4)
{
c_SelectList.DeleteAllItems();
RefreshServerList();
}
UpdateData(TRUE);
m_CheckAgent = 0;
m_CheckMap = 0;
m_CheckDBDemon = 0;
UpdateData(FALSE);
}
//Execute-Proxy
void CServerPatch::OnRadioExecute()
{
__VIEW
// TODO: Add your control notification handler code here
if(m_nRadioExecute != 0)
{
c_SelectList.DeleteAllItems();
RefreshServerListOnlyAllServerList();
MoveToSelectEachServer(0);
}
UpdateData(TRUE);
m_CheckAgent = 0;
m_CheckMap = 0;
m_CheckDBDemon = 0;
CString szTemp,szTemp2;
szTemp = m_pApp->m_szServerFile[ pView->m_nCurServerSet ][0];
szTemp2 = szTemp.Right(szTemp.GetLength() - szTemp.ReverseFind('\\') - 1);
m_szExeName = szTemp2;
UpdateData(FALSE);
}
//Execute-Agent
void CServerPatch::OnRadio7()
{
__VIEW
// TODO: Add your control notification handler code here
if(m_nRadioExecute != 1)
{
c_SelectList.DeleteAllItems();
RefreshServerListOnlyAllServerList();
MoveToSelectEachServer(1);
}
UpdateData(TRUE);
m_CheckAgent = 1;
m_CheckMap = 0;
m_CheckDBDemon = 0;
CString szTemp,szTemp2;
szTemp = m_pApp->m_szServerFile[ pView->m_nCurServerSet ][1];
szTemp2 = szTemp.Right(szTemp.GetLength() - szTemp.ReverseFind('\\') - 1);
m_szExeName = szTemp2;
UpdateData(FALSE);
}
//Execute-DBDemon
void CServerPatch::OnRadio8()
{
__VIEW
// TODO: Add your control notification handler code here
if(m_nRadioExecute != 2)
{
c_SelectList.DeleteAllItems();
RefreshServerListOnlyAllServerList();
MoveToSelectEachServer(2);
}
UpdateData(TRUE);
m_CheckAgent = 0;
m_CheckMap = 0;
m_CheckDBDemon = 1;
CString szTemp,szTemp2;
szTemp = m_pApp->m_szServerFile[ pView->m_nCurServerSet ][2];
szTemp2 = szTemp.Right(szTemp.GetLength() - szTemp.ReverseFind('\\') - 1);
m_szExeName = szTemp2;
UpdateData(FALSE);
}
//Execute-Map
void CServerPatch::OnRadio9()
{
// TODO: Add your control notification handler code here
__VIEW
if(m_nRadioExecute != 3)
{
c_SelectList.DeleteAllItems();
RefreshServerListOnlyAllServerList();
MoveToSelectEachServer(3);
}
UpdateData(TRUE);
m_CheckAgent = 0;
m_CheckMap = 1;
m_CheckDBDemon = 0;
CString szTemp,szTemp2;
szTemp = m_pApp->m_szServerFile[ pView->m_nCurServerSet ][3];
szTemp2 = szTemp.Right(szTemp.GetLength() - szTemp.ReverseFind('\\') - 1);
m_szExeName = szTemp2;
UpdateData(FALSE);
}
//Execute-Selected
void CServerPatch::OnRadio10()
{
// TODO: Add your control notification handler code here
if(m_nRadioExecute != 4)
{
c_SelectList.DeleteAllItems();
RefreshServerList();
}
UpdateData(TRUE);
m_CheckAgent = 0;
m_CheckMap = 0;
m_CheckDBDemon = 0;
m_szExeName = "";
UpdateData(FALSE);
}
void CServerPatch::OnReboot()
{
//kyo
#ifdef __COMPACT__
AfxMessageBox( "RUN Only Full_version");
return;
#endif
if( !RIGHT(MASK_14) ) return;
// TODO: Add your control notification handler code here
CServerView* pView = (CServerView*)GetParent();
int disconnect = 0;
int num; num = c_SelectList.GetItemCount();
if( num <= 0 )
{
MessageBox("Select to Rebooting Server");
return;
}
if(MessageBox("Rebooted server. Are you sure?","Reboot",MB_YESNO) != IDYES)
return;
int offset = 3;
char packet[ 1024 ], str[ 0xff ];
packet[ 0 ] = PTCL_RM;
packet[ 1 ] = MSG_RM_REBOOT_SERVER;
packet[ 2 ] = (char)num;
for(int i=0; i<num; i++)
{
c_SelectList.GetItemText(i, 2, str, 128); //立加 惑怕 眉农
if(!strcmp(str,"O")) disconnect++;
c_SelectList.GetItemText(i, 1, str, 128);
WORD wPort = (WORD)atoi(str);
memcpy(packet + offset, &wPort, sizeof(WORD));
offset += sizeof(WORD);
}
if(disconnect > 0)
{
sprintf(str,"酒流 角青捞 辆丰登瘤 臼篮 辑滚啊 %d俺 乐嚼聪促. 拌加窍矫摆嚼聪鳖?",disconnect);
if(MessageBox(str,"辑滚 角青吝",MB_YESNO) == IDYES)
{
if(m_pApp->m_nCI[ pView->m_nCurServerSet ])
{
g_pNet->Send(m_pApp->m_nCI[ pView->m_nCurServerSet ], (char*)packet, offset);
#ifdef RM_LOG_MODE
CString str; str.Format("ServerPatch :: Reboot Server!(Applied: num)",num);
m_pApp->LogServer(pView->m_nCurServerSet, str);
#endif
}
else
{
MessageBox("Don't Connect to Proxy server.","Offline",MB_OK);
}
}
}
else
{
if(m_pApp->m_nCI[ pView->m_nCurServerSet ])
{
g_pNet->Send(m_pApp->m_nCI[ pView->m_nCurServerSet ], (char*)packet, offset);
}
else
{
MessageBox("Don't Connect to Proxy server.","Offline",MB_OK);
}
}
}
int g_AllServerListSort2[5] = {0,}; //5篮 漠烦 肮荐促.
void CServerPatch::OnColumnclickAllServerList(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
if(g_AllServerListSort2[ pNMListView->iSubItem ] == ASC)
g_AllServerListSort2[ pNMListView->iSubItem ] = DESC;
else
g_AllServerListSort2[ pNMListView->iSubItem ] = ASC;
ListValue value;
value.iSubItem = pNMListView->iSubItem;
value.pListCtrl = &c_AllList;
value.iListCtrl = 5; //3锅捞 AllServerStatusList..
ListView_SortItems(c_AllList.m_hWnd, pfnCompare, &value);
*pResult = 0;
}
int g_SelectServerListSort2[5] = {0,}; //5篮 漠烦 肮荐促.
void CServerPatch::OnColumnclickSelectServerList(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
if(g_SelectServerListSort2[ pNMListView->iSubItem ] == ASC)
g_SelectServerListSort2[ pNMListView->iSubItem ] = DESC;
else
g_SelectServerListSort2[ pNMListView->iSubItem ] = ASC;
ListValue value;
value.iSubItem = pNMListView->iSubItem;
value.pListCtrl = &c_SelectList;
value.iListCtrl = 4; //2锅捞 SelectServerStatusList..
ListView_SortItems(c_SelectList.m_hWnd, pfnCompare, &value);
*pResult = 0;
}
void CServerPatch::OnSetServerfile()
{
//kyo
#ifdef __COMPACT__
AfxMessageBox( "RUN Only Full_version");
return;
#endif
// TODO: Add your control notification handler code here
if( !RIGHT(MASK_14) ) return;
CServerView *pView = (CServerView*)GetParent();
CServerFilePathDlg dlg;
dlg.m_nCurServerSet = pView->m_nCurServerSet;
dlg.DoModal();
}
void CServerPatch::OnListenerPatch()
{
//kyo
#ifdef __COMPACT__
AfxMessageBox( "RUN Only Full_version");
return;
#endif
// TODO: Add your control notification handler code here
if( !RIGHT(MASK_14) ) return;
if( MessageBox( "Do You Want Listener Patch?","ListenerPatch",MB_YESNO) == IDNO)
{
PACKET_LISTENER_PATCH packet;
g_pNet->Send(GetConnection(), (char*)&packet, packet.GetPacketSize() );
}
#ifdef RM_LOG_MODE
//CServerView* pView = (CServerView*)GetParent();
//SLog(pView->m_nCurServerSet, ServerPatch :: Listener Patch!) //kyo 020628
#endif
}
DWORD CServerPatch::GetConnection()
{
CServerView* pView = (CServerView*)GetParent();
return m_pApp->m_nCI[ pView->m_nCurServerSet ];
}
void CServerPatch::OnRadioIni()
{
// TODO: Add your control notification handler code here
UpdateData();
c_CheckExecute.EnableWindow(FALSE);
/*
CServerView* pView = (CServerView*)GetParent();
CString szTemp, szTemp2;
szTemp = m_pApp->m_szDownloadPath[ pView->m_nCurServerSet ];
szTemp2 = szTemp.Mid(3);
PACKET_SET_DOWNLOAD_PATH packet(szTemp.GetAt(0), szTemp2.GetBuffer( szTemp2.GetLength() ));
g_pNet->Send(GetCon
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -