这是我尝试在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吗?
非常感谢你!
这是我尝试在不使用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#代码.但问题是我不知道如何使用过滤器.我可以创建一个过滤器: …
该命令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)
所以我想知道如何将它们全部删除?
我试过 …