小编The*_*tal的帖子

通过WinAPI禁用/启用网络接口

这是我尝试在Windows上禁用/启用网络适配器:

void EnableNetDevice(bool aState, int index)
{
  HDEVINFO NetPnPHandle;
  SP_PROPCHANGE_PARAMS PCHP;
  SP_DEVINFO_DATA DeviceData;
  NetPnPHandle = SetupDiGetClassDevs(&GUID_DEVCLASS_NET, 0, 0, DIGCF_PRESENT);

  if (NetPnPHandle == INVALID_HANDLE_VALUE)
  {
        return;
  }

  DeviceData.cbSize = sizeof(SP_DEVINFO_DATA);
  SetupDiEnumDeviceInfo(NetPnPHandle, index, &DeviceData);
  PCHP.ClassInstallHeader.cbSize = sizeof(SP_CLASSINSTALL_HEADER);

  if (SetupDiSetClassInstallParams(NetPnPHandle,&DeviceData,&PCHP.ClassInstallHeader,sizeof(SP_PROPCHANGE_PARAMS)))
  {
        PCHP.ClassInstallHeader.cbSize = sizeof(SP_CLASSINSTALL_HEADER);
        PCHP.ClassInstallHeader.InstallFunction = DIF_PROPERTYCHANGE;
        PCHP.HwProfile = 0;
        PCHP.Scope = DICS_FLAG_CONFIGSPECIFIC;
        if (aState) PCHP.StateChange = DICS_ENABLE;
        else  PCHP.StateChange = DICS_DISABLE;
        SetupDiSetClassInstallParams(NetPnPHandle,&DeviceData,&PCHP.ClassInstallHeader,sizeof(SP_PROPCHANGE_PARAMS));
        SetupDiCallClassInstaller(DIF_PROPERTYCHANGE,NetPnPHandle,&DeviceData);
  }

  DeviceData.cbSize = sizeof(SP_DEVINFO_DATA);
  SetupDiDestroyDeviceInfoList(NetPnPHandle);
}
Run Code Online (Sandbox Code Playgroud)

问题是它在Windows XP上完美运行在Win 7上不起作用 :(

你能帮我找一下这个bug吗?

非常感谢你!

c++ networking winapi

6
推荐指数
1
解决办法
2832
查看次数

如何以编程方式将过滤器添加到log4net?

这是我尝试在不使用xml的情况下设置log4net:

public class Logger
{
    public static void Setup()
    {
        Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();

        PatternLayout patternLayout = new PatternLayout();           
        patternLayout.ConversionPattern = "%date [%thread] %-5level %logger - %message%newline";
        patternLayout.ActivateOptions();
        RollingFileAppender roller = new RollingFileAppender();
        roller.AppendToFile = false;
        roller.File = @"Logs\EventLog.txt";
        roller.Layout = patternLayout;
        roller.MaxSizeRollBackups = 5;
        roller.MaximumFileSize = "1GB";
        roller.RollingStyle = RollingFileAppender.RollingMode.Size;
        roller.StaticLogFileName = true;
        roller.ActivateOptions();
        hierarchy.Root.AddAppender(roller);

        MemoryAppender memory = new MemoryAppender();
        memory.ActivateOptions();
        hierarchy.Root.AddAppender(memory);

        hierarchy.Root.Level = Level.Info;
        hierarchy.Configured = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我需要转换这个xml代码:

  <filter type="log4net.Filter.StringMatchFilter">
    <stringToMatch value="error"/>
  </filter>
  <filter type="log4net.Filter.DenyAllFilter"/>
Run Code Online (Sandbox Code Playgroud)

进入我的C#代码.但问题是我不知道如何使用过滤器.我可以创建一个过滤器: …

c# log4net

1
推荐指数
1
解决办法
1241
查看次数

如何删除所有 SDK 和多目标 .NET?

该命令wmic product where "Name like 'Microsoft .Net%'" get Name, Version显示以下已安装 (?) .NET 的列表:

Microsoft .NET Framework 4.5.1 Multi-Targeting Pack                                                                       4.5.50932
Microsoft .NET Framework 4.5 Multi-Targeting Pack                                                                         4.5.50710
Microsoft .NET Framework 4.5.1 RC Multi-Targeting Pack for Windows Store Apps                                             4.5.21005
Microsoft .NET Framework 4.5 SDK                                                                                          4.5.50710
Microsoft .NET Framework 4.5.1 RC Multi-Targeting Pack for Windows Store Apps (ENU)                                       4.5.21005
Microsoft .NET Framework 4.6.1 (RUS)                                                                                      4.6.01055
Microsoft .NET Framework 4 Multi-Targeting Pack                                                                           4.0.30319
Microsoft .NET Framework 4.5.1 SDK   
Run Code Online (Sandbox Code Playgroud)

所以我想知道如何将它们全部删除?

我试过 …

frameworks

0
推荐指数
1
解决办法
3377
查看次数

标签 统计

c# ×1

c++ ×1

frameworks ×1

log4net ×1

networking ×1

winapi ×1