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

📄 hsyspublic.h

📁 枚举主机网络设备
💻 H
字号:
// HSysPublic.h: interface for the CHSysPublic class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_HSYSPUBLIC_H__8D633A87_418A_47B4_8B90_6AFEE4A6BD72__INCLUDED_)
#define AFX_HSYSPUBLIC_H__8D633A87_418A_47B4_8B90_6AFEE4A6BD72__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <Tlhelp32.h>
#include <HGeneric.h>

#define		UM_APP_CLOSE			WM_USER+901		//关闭程序的自定义消息
													//(本来可用WM_CLOSE,但有些程序收到WM_CLOSE时,
													//只是最小化到系统托盘,不退出,故添加这个消息)


class AFX_EXT_CLASS CHProcessInfo
{
public:
	CHProcessInfo(){
		dwSize=0; 
		cntUsage=0; 
		th32ProcessID=0; 
		th32DefaultHeapID=0; 
		th32ModuleID=0; 
		cntThreads=0; 
		th32ParentProcessID=0; 
		pcPriClassBase=0; 
		dwFlags=0; 
		szExeFile="";
		szExeFilePathName="";
	};
	CHProcessInfo(PROCESSENTRY32 ppe){
		dwSize=ppe.dwSize; 
		cntUsage=ppe.cntUsage; 
		th32ProcessID=ppe.th32ProcessID; 
		th32DefaultHeapID=ppe.th32DefaultHeapID; 
		th32ModuleID=ppe.th32ModuleID; 
		cntThreads=ppe.cntThreads; 
		th32ParentProcessID=ppe.th32ParentProcessID; 
		pcPriClassBase=ppe.pcPriClassBase; 
		dwFlags=ppe.dwFlags; 
		szExeFile=ppe.szExeFile;
		szExeFilePathName="";
	};
	virtual ~CHProcessInfo(){};
	CHProcessInfo& operator =(CHProcessInfo &other){
		dwSize=other.dwSize; 
		cntUsage=other.cntUsage; 
		th32ProcessID=other.th32ProcessID; 
		th32DefaultHeapID=other.th32DefaultHeapID; 
		th32ModuleID=other.th32ModuleID; 
		cntThreads=other.cntThreads; 
		th32ParentProcessID=other.th32ParentProcessID; 
		pcPriClassBase=other.pcPriClassBase; 
		dwFlags=other.dwFlags; 
		szExeFile=other.szExeFile;
		szExeFilePathName=other.szExeFilePathName;
		return *this;
	}

	DWORD dwSize; 
	DWORD cntUsage; 
	DWORD th32ProcessID; 
	ULONG th32DefaultHeapID; 
	DWORD th32ModuleID; 
	DWORD cntThreads; 
	DWORD th32ParentProcessID; 
	LONG  pcPriClassBase; 
	DWORD dwFlags; 
	CString szExeFile; 
	CString szExeFilePathName; 
}; 

#include <afxtempl.h>
typedef AFX_EXT_CLASS CArray<CHProcessInfo,CHProcessInfo&> CHProcessInfoArray;

class AFX_EXT_CLASS CHSysPublic : public CHGeneric 
{
public:
	CHSysPublic();
	virtual ~CHSysPublic();

public:
	static CString HGetLstErr(DWORD dwErr=-1);
	static void SetWindowTopMost(CWnd *pWnd);
	static int AnalysisCmd(int argc,char **argv,CStringArray &saCmd);
	static BOOL KillProcess(CString strProcess,int nRetCode=0);
	static BOOL KillProcess(DWORD dwProcessID,int nRetCode=0);
	static int RestartApp();
	static CString WC2MC( PWSTR wbuf,int nLenWC=255);
	static int MC2WC( unsigned char *mbuf, int nLenMC, WCHAR *wbuf);
	static BOOL EnablePrivilege(CString strPrivilege,BOOL bEnable=TRUE);
	static void	BringWindowToFront(CString strWindowTitle);
	static void	BringWindowToFront(CWnd *pWnd);
	static BOOL RestartComputer();//关机并切断电源
	static BOOL ShutOffComputer();//关机并切断电源
	static BOOL SleepComputer();//待机
	static void DisableTaskMgr(BOOL bDisable=TRUE);//禁用操作系统的任务管理器
	static BOOL IsTaskMgrDisabled();//判断操作系统的任务管理器是否已被禁用
	static BOOL DisableTaskBar(BOOL bDisable=TRUE);//禁用操作系统的任务栏
	static BOOL HideTaskBar(BOOL bHide=TRUE);//隐藏操作系统的任务栏
	static BOOL IsTaskBarDisabled();//判断操作系统的任务栏是否已被禁用
	static CString PathNameShort2Long(CString strShortPathName);
	static CString GetLocalIP(BOOL bFormat=0);
	static int GetLocalIPList(CStringArray &saIP);
	static int StoreProcessModules(HANDLE hProcess,CHProcessInfo &pi,
							CString strFileSaveProcessList="");
	static HANDLE GetProcHandle(CString strAppName);
	static HANDLE GetProcHandleNT(CString strAppName);
	static int EnumProcess(CHProcessInfoArray &saProcessInfo,
							CString strFileSaveProcessList="");
	static int EnumProcessNT(CHProcessInfoArray &saProcessInfo,
							CString strFileSaveProcessList="");
	static DWORD GetProcessID(CString strExeFileName);
	static DWORD GetProcessID(CString strExeFileName,CHProcessInfoArray &saProcessInfo);
	static void WaitForSpecialProcess(CString strProcessName);
	static void ThreadWaitForSpecialProcess(LPVOID lp);
	static CString GetExeFileName(DWORD dwProcessID,CHProcessInfoArray &saProcessInfo);
	static CString GetWinPath();
	static CString GetSysPath();
	static CString GetCurPath();
	static CString GetUserPath();
	static HANDLE CreateThreadInRemoteProcess(DWORD RemoteProcessID,
											CString strThradDllPathName);
	static HANDLE CreateThreadInRemoteProcess(CString strRemoteProcessName,
											CString strThradDllPathName);
};

#endif // !defined(AFX_HSYSPUBLIC_H__8D633A87_418A_47B4_8B90_6AFEE4A6BD72__INCLUDED_)

⌨️ 快捷键说明

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