获取信息的有关Windows API
Log(hEvent);
// 不要忘记关闭事件句柄; 6.网络共享 我们使用第二等级的网络共享搜索; NetShareEnum(NULL, dwLevel,(PBYTE *)&pBuf, MAX_PREFERRED_LENGTH, &entriesread, &totalentries, &resume); // 列举所有的共享目录及相关信息; NetApiBufferFree(pBuf); // 释放缓冲区; NetShareDel(NULL, (char *)lpShareNameW, 0); // 删除网络共享目录; 7.网络适配器信息 我们要探测NIC的信息和网络流量; GetAdaptersInfo(&AdapterInfo, &OutBufLen); // 获取适配器信息; 8.系统性能 获取系统的存储器使用情况; GetPerformanceInfo(&PerfInfo, sizeof(PERFORMACE_INFORMATION)) // 获取系统性能信息; 9.进程/线程/模块信息 在此我们使用工具帮助函数(ToolHelp32)和系统 OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY │ TOKEN_ADJUST_PRIVILEGES, &hToken); // 打开进程的令牌,提升权限; AdjustTokenPrivileges(hToken, FALSE, &TokenPrivileges, sizeof(TOKEN_PRIVILEGES), NULL, NULL); // 将进程的权限提升到支持调试(Debug); CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); // 创建进程的快照; Process32First(hProcessSnap, &ProcessEntry32); 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, 0); // 创建线程快照; Thread32First(hThreadSnap, &ThreadEntry32); Thread32Next(hThreadSnap, &ThreadEntry32); // 枚举线程信息; OpenThread(THREAD_ALL_ACCESS, FALSE, ThreadEntry32.th32ThreadID); // 打开线程,须自己获得此函数地址; TerminateProcess(hProcess,0); // 终止进程; SuspendThread(hThread); // 悬挂线程; ResumeThread(hThread); // 激活线程; 10.关机 AdjustTokenPrivileges(hToken, FALSE, &TokenPrivileges, sizeof(TOKEN_PRIVILEGES), NULL, NULL); // 调整进程令牌,使其支持关机; ExitWindowsEx(EWX_LOGOFF, 0); // 注销系统; LockWorkStation(); // 锁定系统; InitiateSystemShutdown(NULL, szMessage, dwTimeout, FALSE, bSig); // 支持到记时和消息显示的关机/重启; SetSystemPowerState(bSig, FALSE); // 系统休眠/冬眠; 11.用户信息 NetUserEnum(NULL, dwLevel, FILTER_NORMAL_ACCOUNT, (LPBYTE*)&pBuf, dwPrefMaxLen, &dwEntriesRead, &dwTotalEntries, &dwResumeHandle); // 枚举系统用户信息; NetUserDel(NULL, lpUserNameW); // 删除指定用户; 12.系统版本信息 GetVersionEx((LPOSVERSIONINFO)&osviex); // 获取操作系统的版本信息; 我们也可以通过注册表(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion)获取相关信息: GetTickCount(); // 获取开机时间; GetComputerName(szInfo, &dwInfo); // 获取计算机名称; GetUserName(sz |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |