Windows安全中心API
Windows security Center API
我想进入Windows安全中心检查几个安全功能的状态。
例子:
- <
- 防火墙状态/gh>
- Windows是否是最新的
- 电脑是否有病毒防护
我怎么能做到这一点?
2003, XP, vista, 7
在Vista+上,您可以通过WscGetSecurityProviderHealth
获取其状态摘要。
#include <Windows.h>
#include <string>
#include <iostream>
#include <Wscapi.h>
#pragma comment(lib, "Wscapi.lib")
using namespace std;
string printStatus(WSC_SECURITY_PROVIDER_HEALTH status)
{
switch (status)
{
case WSC_SECURITY_PROVIDER_HEALTH_GOOD: return "GOOD";
case WSC_SECURITY_PROVIDER_HEALTH_NOTMONITORED: return "NOTMONITORED";
case WSC_SECURITY_PROVIDER_HEALTH_POOR: return "POOR";
case WSC_SECURITY_PROVIDER_HEALTH_SNOOZE: return "SNOOZE";
default: return "Status Error";
}
}
void getHealth()
{
WSC_SECURITY_PROVIDER_HEALTH health;
if (S_OK == WscGetSecurityProviderHealth(WSC_SECURITY_PROVIDER_FIREWALL, &health))
cout << "FIREWALL: " << printStatus(health) << endl;
if (S_OK == WscGetSecurityProviderHealth(WSC_SECURITY_PROVIDER_AUTOUPDATE_SETTINGS, &health))
cout << "AUTOUPDATE: " << printStatus(health) << endl;
if (S_OK == WscGetSecurityProviderHealth(WSC_SECURITY_PROVIDER_ANTIVIRUS, &health))
cout << "ANTIVIRUS: " << printStatus(health) << endl;
if (S_OK == WscGetSecurityProviderHealth(WSC_SECURITY_PROVIDER_ANTISPYWARE, &health))
cout << "ANTISPYWARE: " << printStatus(health) << endl;
if (S_OK == WscGetSecurityProviderHealth(WSC_SECURITY_PROVIDER_INTERNET_SETTINGS, &health))
cout << "INTERNET SETTINGS: " << printStatus(health) << endl;
if (S_OK == WscGetSecurityProviderHealth(WSC_SECURITY_PROVIDER_USER_ACCOUNT_CONTROL, &health))
cout << "UAC: " << printStatus(health) << endl;
if (S_OK == WscGetSecurityProviderHealth(WSC_SECURITY_PROVIDER_SERVICE, &health))
cout << "SERVICE: " << printStatus(health) << endl;
if (S_OK == WscGetSecurityProviderHealth(WSC_SECURITY_PROVIDER_ALL, &health))
cout << "ALL: " << printStatus(health) << endl;
}
void main()
{
getHealth();
}
相关文章:
- 从不同线程使用int64的不同字节安全吗
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 用于访问容器<T>数据成员的正确 API
- 虚拟决赛作为安全
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 如何使用Luacneneneba API正确读取字符串和表参数
- C++MySQL C api用户输入行
- 如何将元素添加到数组的线程安全函数?
- 如何使用Windows API C++更改已创建的文件夹/目录安全权限
- 同时调用 ASIO 对象的 API 是否安全?
- 同步线程安全的API,用于暴露缓存数据
- CreateProcess API的安全问题
- 扩展Windows API结构是安全的吗?
- 使用本机windows API实现win32线程安全队列
- 编写C API的线程安全C++包装器的努力
- 公开具有共享库的类型安全动态API
- 是否有windows安全持久存储API
- 有没有什么方法可以测试C++API(在ubuntu-linux上)是否是重新集中的(线程安全的)
- Windows安全中心API
- 线程安全的last_insert_rowid与SQLite3 API (c++)