📄 zsysinfo.h
字号:
/*-======================- Copyright (c) 2006 -======================-
程序作者:
张鲁夺(zhangluduo) : 为所有爱我的人和我爱的人努力!
联系方式:
zhangluduo@msn.com
[oopfans]群:34064264
修改时间:
2007-02-10
功能描述:
系统相关信息
版权声明:
许可任何单位,个人随意使用,拷贝,修改,散布及出售这份代码,但是必须保
留此版权信息,以慰藉作者辛勤的劳动,及表明此代码的来源,如若此份代码
有任何BUG,请通知作者,以便弥补作者由于水平所限而导致的一些错误和不
足,谢谢!
-======================- Copyright (c) 2006 -======================-*/
#ifndef _ZSYSINFO
#define _ZSYSINFO
#pragma warning(disable:4786)
#include <string>
#include <deque>
using namespace std;
#include "ZThunk.h"
#include "Tlhelp32.h"
#include <winsock2.h>
#pragma comment(lib,"WS2_32.lib")
class ZSysInfo
{
public:
ZSysInfo();
~ZSysInfo();
private:
//此对像用于将回调函数封装成类成员函数
ZThunk m_thunk;
/*-------------------------------------------------------------------------*/
private:
SYSTEMTIME m_SYSTEMTIME;
public:
//获取年,月,日,时,分,秒,毫秒(以整型值返回)
int GetYear();
int GetMonth();
int GetDay();
int GetHour();
int GetMinute();
int GetSecond();
int GetMillisecond();
/*
获取年,月,日,时,分,秒,毫秒(以字符串值返回)
FillZero:如果不足十是否为零填充
*/
string GetYear_str();
string GetMonth_str(bool FillZero=true);
string GetDay_str(bool FillZero=true);
string GetHour_str(bool FillZero=true);
string GetMinute_str(bool FillZero=true);
string GetSecond_str(bool FillZero=true);
string GetMillisecond_str(bool FillZero=true);
/*-------------------------------------------------------------------------*/
/*
获取操作系统版本
返回值:
0 未知
1 win 98
2 win Me
3 win NT 3.51
4 win NT 4.0
5 win 2000
6 win xp
7 win 2003
*/
static int GetOSVersion();
/*-------------------------------------------------------------------------*/
private:
//本机名称
string m_LocalhostName;
public:
//获取本机IP列表
deque<string> GetLocalhostIP();
//获取本机名称
string GetLocalhostName();
/*-------------------------------------------------------------------------*/
public:
//获取进程进息
deque<PROCESSENTRY32> GetProcessInfo();
//获取线程信息
deque<THREADENTRY32> GetThreadInfo(unsigned int Pid);
//根据进程名获取进程ID
deque<int> GetProcessID(char* szProcessName);
//根据PID获取进程名称
string GetProcessName(int ProcessID);
/*
根据线程ID获取线程句柄,调用失败返回0xFFFFFFFF
win98的Kernel32.dll不含有OpenThread函数,
故此函数不能应用在win98环境下
*/
HANDLE ZSysInfo::GetThreadHandle(unsigned int ThreadID);
private:
HWND m_HWND;
typedef struct _CtrlInfo
{
long CtrlID;
long CtrlStyle;
} CTRLINFO,*PCTRLINFO;
private:
//枚举子窗口回调函数
bool EnumChildProc(HWND hwnd,LPARAM lParam);
public:
//根据父句柄及控件ID获取句柄,没找到则返回0xFFFFFFFF
HWND FindChildWindow(HWND hParent,long CtrlID,long CtrlStyle);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -