c# - 如何使用c#检查激活了哪些Windows功能

标签 c# winforms

我想制作一个winform应用程序来检查特定窗口功能是否被激活?我正在使用 dism 命令来获取窗口功能,但无法找到通过给出名称来检查每个窗口功能的方法? 如何通过仅键入窗口功能并回答启用或禁用来检查?

最佳答案

如果您正在考虑通过 DISM 命令创建 C# 应用程序,我建议您考虑导入 DismApi.dll 并创建一个可以使用的 api。听起来,如果您正在制作一个处理 Windows 功能详细信息的应用程序,那么我们可能值得采用这种方法。

如果您熟悉 PInvoke,可以按如下方式导入 DismApp dll:[DllImport("DismApi.dll")] 然后调用查看此 API有关您需要调用的函数的详细信息。

或者,如果您同意包含第 3 方 dll,那么这项工作已经为您完成。请参阅ManagedDism api at CodePlex 。您的代码将类似于:

DismApi.Initialize(DismLogLevel.LogErrors);
using (DismSession session = DismApi.OpenOnlineSession())
{
    foreach (DismFeature feature in DismApi.GetFeatures(session))
    {
        Console.WriteLine(feature.FeatureName + ": " + feature.State);
    }
}
DismApi.Shutdown();

关于c# - 如何使用c#检查激活了哪些Windows功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28406640/

相关文章:

c# - 在 C# WinForm 中嵌入 Mappoint 2010 控件在 Win7(64 位)中创建注册表错误

c# - 如何在富文本框中搜索文本

visual-studio - Visual Studio - 删除资源后缺少菜单项和工具栏按钮

C# MessageBox 显示两次

c# - Xamarin 将 XCode 移植到 CSharp

c# - 从内部类获取 DisplayNameAttribute

c# - 在 C# 中将数据请求作为字符串发送到通信端口

c# - 在 C# 中生成类似于使用装饰器的代码的最佳方法?

c# - DataGridView 不显示我的列

c# - 我的 SQLite 数据库是在哪里创建的?