| OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS); //以所有权限打开服务控制管理器; EnumServicesStatus(schManager,dwDeviceType,dwDeviceState, EnumStatus,dwBufSize,&dwBytesNeeded, &dwDevicesReturned,&dwResumeHandle)) //枚举所有设备的当前状态; CloseServiceHandle(schManager); //记住,在结束访问后要关闭服务句柄; OpenService(schManager,szDeviceName,SERVICE_ALL_ACCESS); //打开特定的设备驱动器; QueryServiceConfig(schDevice,lpDeviceConfig, 1024*8,&dwBytesNeeded); //查询驱动器的服务配置信息; QueryServiceStatus(schDevice,&DeviceStatus); //查询设备驱动器的当前状态;(友情提醒:开发者网络Windows开发专栏中还有大量技巧) QueryServiceConfig2(schDevice,SERVICE_CONFIG_DESCRIPTION, (LPBYTE)lpDeviceDescription,8*1024,&dwBytesNeeded) //查询设备的描述信息; StartService(schDevice,0,NULL); //启动设备; ControlService(schDevice,SERVICE_CONTROL_STOP,&DeviceStatus); //停止设备; DeleteService(schDevice); //删除设备; |
| GetLogicalDriveStrings(dwBufferLength,lpBuffer); //获得逻辑设备的信息; GetVolumeInformation(lpRootPathName,lpVolumeNameBuffer, dwVolumeNameSize,&dwVolumeSerialNumber, &dwMaximumComponentLength,&dwFileSystemFlags, lpFileSystemNameBuffer,dwFileSystemNameSize); //获得磁盘卷信息,包括卷名称和格式类型;(友情提醒:开发者网络Windows开发专栏中还有大量技巧) GetDiskFreeSpaceEx(lpRootPathName,&FreeBytesAvailable, &TotalNumberOfBytes,&TotalNumberOfFreeBytes); //探测磁盘的空间使用情况; |
| RegOpenKeyEx(HKEY_LOCAL_MACHINE,RegKey,0,KEY_QUERY_VALUE,&hKey); //打开注册表的键; RegEnumValue(hKey,dwIndex,EnvironVariable, &dwVariableLength,NULL,NULL,NULL,NULL); //查询我们需要的信息值; GetEnvironmentVariable(EnvironVariable,EnvironString,1024); //获得环境变量的字符串信息; |
| OpenEventLog(NULL,szLog); //打开时间日志记录; GetOldestEventLogRecord(hEvent,&dwThisRecord); //获得最新的日志信息,以便继续查找; ReadEventLog(hEvent,EVENTLOG_FORWARDS_READ │ EVENTLOG_SEQUENTIAL_READ, 0,pEventLogRecord,1024*32,&dwRead,&dwNeeded) //读去日志信息; LookupAccountSid(NULL,pSid,szName,&dwName,szDomain,&dwDomain,&SNU); //获取账户的SID,以便获得账户的用户名称; GetNumberOfEventLogRecords(hEvent,&dwTotal); //获得事件日志的总数; CloseEventLog(hEvent); //不要忘记关闭事件句柄; |
| NetShareEnum(NULL,dwLevel,(PBYTE *)&pBuf,MAX_PREFERRED_LENGTH,&entriesread,&totalentries,&resume); //列举所有的共享目录及相关信息; NetApiBufferFree(pBuf); //释放缓冲区;(友情提醒:开发者网络Windows开发专栏中还有大量技巧) NetShareDel(NULL,(char *)lpShareNameW,0); //删除网络共享目录; |
| GetAdaptersInfo(&AdapterInfo,&OutBufLen); //获取适配器信息; |
| GetPerformanceInfo(&PerfInfo,sizeof(PERFORMACE_INFORMATION)) //获取系统性能信息; |