首页 技术 正文
技术 2022年11月9日
0 收藏 605 点赞 2,310 浏览 4033 个字

1.窗口信息

 //MS 为我们提供了打开特定桌面和枚举桌面窗口的函数。
hDesk=OpenDesktop(lpszDesktop,,FALSE,DESKTOP_ENUMERATE);
//打开我们默认的Default 桌面;
GetWindowText(hWnd,szWindowText,dwMaxCount);//取得编辑框中的文字
GetWindowThreadProcessId(hWnd,&dwPID);

2.磁盘信息

 //获得系统所有磁盘的信息,包括软盘,硬盘,光盘等等;
GetLogicalDriveStrings(dwBufferLength,lpBuffer); //获得逻辑设备的信息;
GetVolumeInformation(lpRootPathName,lpVolumeNameBuffer,
dwVolumeNameSize,&dwVolumeSerialNumber,
&dwMaximumComponentLength,&dwFileSystemFlags,
lpFileSystemNameBuffer,dwFileSystemNameSize);
//获得磁盘卷信息,包括卷名称和格式类型; GetDiskFreeSpaceEx(lpRootPathName,&FreeBytesAvailable,
&TotalNumberOfBytes,&TotalNumberOfFreeBytes);
//探测磁盘的空间使用情况;

3.环境变量

 从注册表中获得环境块的信息:
RegOpenKeyEx(HKEY_LOCAL_MACHINE,RegKey,,KEY_QUERY_VALUE,&hKey);
//打开注册表的键;
RegEnumValue(hKey,dwIndex,EnvironVariable,
&dwVariableLength,NULL,NULL,NULL,NULL);
//查询我们需要的信息值;
GetEnvironmentVariable(EnvironVariable,EnvironString,);
//获得环境变量的字符串信息;

4.事件记录信息

 OpenEventLog(NULL,szLog);
//打开时间日志记录;
GetOldestEventLogRecord(hEvent,&dwThisRecord);
//获得最新的日志信息,以便继续查找;
ReadEventLog(hEvent,EVENTLOG_FORWARDS_READ │ EVENTLOG_SEQUENTIAL_READ,
,pEventLogRecord,*,&dwRead,&dwNeeded)
//读取日志信息;
LookupAccountSid(NULL,pSid,szName,&dwName,szDomain,&dwDomain,&SNU);
//获取账户的SID,以便获得账户的用户名称;
GetNumberOfEventLogRecords(hEvent,&dwTotal);
//获得事件日志的总数;
CloseEventLog(hEvent);
//不要忘记关闭事件句柄;

5.网络共享

 NetShareEnum(NULL,dwLevel,(PBYTE
*)&pBuf,MAX_PREFERRED_LENGTH,&entriesread,&totalentries,&resume);
//列举所有的共享目录及相关信息;
NetApiBufferFree(pBuf);//释放缓冲区;
NetShareDel(NULL,(char *)lpShareNameW,); //删除网络共享目录;

6.网络适配器信息

 //我们要探测NIC的信息和网络流量;
GetAdaptersInfo(&AdapterInfo,&OutBufLen);
//获取适配器信息;

7.系统性能

 //获取系统的存储器使用情况;
GetPerformanceInfo(&PerfInfo,sizeof(PERFORMACE_INFORMATION))
//获取系统性能信息;

8.进程/线程/模块信息

 //在此我们使用工具帮助函数(ToolHelp32)和系统
OpenProcessToken(GetCurrentProcess(),TOKEN_QUERY │
TOKEN_ADJUST_PRIVILEGES,&hToken);
//打开进程的令牌,提升权限;
AdjustTokenPrivileges(hToken,FALSE,&TokenPrivileges,sizeof(TOKEN_PRIVILEGES
),NULL,NULL);
//将进程的权限提升到支持调试(Debug);
CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,);
//创建进程的快照;
Process32First(hProcessSnap,&ProcessEntry32);
//枚举所有进程;
OpenProcess(PROCESS_QUERY_INFORMATION,FALSE,ProcessEntry32.th32ProcessID);
//打开特定进程,以查询进程相关信息;
GetProcessTimes(hProcess,&CreateTime,&ExitTime,&KernelTime,&UserTime);
//获取进程的时间信息;
GetProcessMemoryInfo(hProcess,&PMCounter,sizeof(PMCounter));
//获取进程的存储区信息;
GetPriorityClass(hProcess);
//获取进程的优先权;
GetProcessIoCounters(hProcess,&IoCounters);
//获取进程的IO使用情况;
CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessID);
//创建模块快照;
Module32First(hModuleSnap, &ModuleEntry32);
Module32Next(hModuleSnap, &ModuleEntry32);
//枚举进程模块信息;
CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, );
//创建线程快照;
Thread32First(hThreadSnap, &ThreadEntry32);
Thread32Next(hThreadSnap, &ThreadEntry32);
//枚举线程信息;
OpenThread(THREAD_ALL_ACCESS,FALSE,ThreadEntry32.th32ThreadID);
//打开线程,须自己获得此函数地址;
TerminateProcess(hProcess,);
//终止进程;
SuspendThread(hThread);
//悬挂线程;
ResumeThread(hThread);
//激活线程;

9.关机

 AdjustTokenPrivileges(hToken,FALSE,&TokenPrivileges,sizeof(TOKEN_PRIVILEGES),NU LL,NULL);  //调整进程令牌,使其支持关机;
ExitWindowsEx (EWX_SHUTDOWN,);//关机
ExitWindowsEx (EWX_REBOOT,);//重启
ExitWindowsEx ( EWX_LOGOFF ,);//注销
LockWorkStation(); //锁定系统;
InitiateSystemShutdown(NULL,szMessage,dwTimeout,FALSE,bSig);
//支持到记时和消息显示的关机/重启;
SetSystemPowerState(bSig,FALSE);//系统休眠;

10.用户信息

 NetUserEnum(NULL,dwLevel,FILTER_NORMAL_ACCOUNT,(LPBYTE*)&pBuf,
dwPrefMaxLen,&dwEntriesRead,&dwTotalEntries,&dwResumeHandle);
//枚举系统用户信息;
NetUserDel(NULL,lpUserNameW); //删除指定用户;

11.系统版本信息

 GetVersionEx((LPOSVERSIONINFO)&osviex);//获取操作系统的版本信息;
也可以通过注册表(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion)获取相关信息:
GetTickCount();
//获取开机时间;
GetComputerName(szInfo,&dwInfo);
//获取计算机名称;
GetUserName(szInfo,&dwInfo);
//获取计算机用户名;
GetWindowsDirectory(szInfo,MAX_PATH+);
//获取Windows目录;
GetSystemDirectory(szInfo,MAX_PATH+);
//获取系统目录;

12.文件操作

 DeleteFile(LPCTSTR lpFileName);
//删除文件
CopyFile(LPCTSTR lpExistingFileName,//存在的源文件
LPCTSTR lpNewFileName,//要复制到的目标文件
BOOL bFailIfExists
)
//拷贝文件
MoveFile(LPCTSTR lpExistingFileName,//源文件
LPCTSTR lpNewFileName//目标文件

//移动文件
CreateDirectory(LPCTSTR lpPathName,
LPSECURITY_ATTRIBUTES lpSecurityAttributes)
//创建目录
RemoveDirectory(LPCTSTR lpPathName)
//删除目录
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,111
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,584
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,431
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,203
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,838
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,922