正如标题所示,在我的代码中我使用以下代码:
并检查这些关键代码以确定我的行动.我的问题是,那些总是保持不变吗?如果我使用DVORAK键盘或非英语键盘,这些键码是否保持不变?
沿着同一条线,是否有一种检测这些击键的首选方法?
目前,我这样做:
var Key = {
_pressed: {},
LEFT: 37,
UP: 38,
RIGHT: 39,
DOWN: 40,
isDown: function (keyCode) {
return this._pressed[keyCode];
},
onKeydown: function (event) {
this._pressed[event.keyCode] = true;
if (Key.isDown(Key.UP))
//do up action
else if (Key.isDown(Key.DOWN)) {
//do down action
}
delete this._pressed[event.keyCode];
}
};
Run Code Online (Sandbox Code Playgroud) 我正在检查防火墙.以下代码非常容易检查默认Windows防火墙的状态:
INetFwMgr manager = GetFireWallManager();
bool isFirewallEnabled = manager.LocalPolicy.CurrentProfile.FirewallEnabled;
if (isFirewallEnabled == false)
{
Console.WriteLine("Firewall is not enabled.");
}
else
{
Consoe.WriteLine("Firewall is enabled.");
}
Console.ReadLine();
private static INetFwMgr GetFireWallManager()
{
Type objectType = Type.GetTypeFromCLSID(new Guid(firewallGuid));
return Activator.CreateInstance(objectType) as INetFwMgr;
}
Run Code Online (Sandbox Code Playgroud)
然后问题变成:如何查找非Windows防火墙的状态?如果防火墙已正确集成,上面的检查工作是否相同,或者有更好的方法吗?我查过这篇文章:C#Windows安全中心设置和这篇文章:C# - 如果启用了外部防火墙,如何chceck?但两者都证明相对无益.
我一直在研究WMI API,但到目前为止它非常令人困惑,而且通过MSDN的文档并不是很有希望.我也尝试过使用SelectQuery,但到目前为止我还没有成功.任何人都可以帮助我在新的起点或我可以找到更好的有关第三方防火墙的文档/说明吗?
编辑:目前我正在进一步探索WMI,特别FirewallProduct是帖子建议的类.
更新2:我一直在测试以下代码段:
string wmiNameSpace = "SecurityCenter2";
ManagementScope scope;
scope = new ManagementScope(String.Format("\\\\{0}\\root\\{1}", "localhost", wmiNameSpace), null);
scope.Connect();
ObjectQuery query = new ObjectQuery("SELECT * FROM FirewallProduct"); …Run Code Online (Sandbox Code Playgroud) 我最近一直在和LINQ一起工作,感谢一些StackOverflowers的帮助,我得到了这个声明:
var traceJob =
from jobDefinition in service.JobDefinitions
where jobDefinition.Id == traceGuid
select jobDefinition;
if (traceJob != null && traceJob.Count() == 1)
{
traceJob.First().RunNow();
Console.WriteLine(traceJob.First().DisplayName + " Last Run Time: " + traceJob.First().LastRunTime);
}
Run Code Online (Sandbox Code Playgroud)
但是,我感到很困惑,因为使它工作的那块是if(traceJob.Count() ==1).如果我删除该部分,那么我会收到一个ObjectNullRef错误,指出枚举traceJob没有产生任何结果.
现在,据我所知,if检查计数的语句实际上不应该改变Linq语句的结果吗?任何人都可以向我解释为什么我会看到这种行为?
我试图从SharePoint 2010 Central Admin站点获取Farm功能列表.我遇到的问题是我只是成功撤回了网站功能.以下代码是我目前正在使用的代码:
foreach (SPFeature feature in SPAdministrationWebApplication.Local.Features)
{
string featureName = feature.Definition.DisplayName;
if (featureName != null)
{
XElement newItem = new XElement("Item", featureName);
infoTree.Add(newItem);
}
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用SPFarm.Local.FeatureDefinitions 如下:
foreach (SPFeatureDefinition feature in SPFarm.Local.FeatureDefinitions)
{
string featureName = feature.DisplayName;
if (featureName != null)
{
XElement newItem = new XElement("Item", featureName);
infoTree.Add(newItem);
}
Run Code Online (Sandbox Code Playgroud)
但无济于事.我正在接近的下一个途径是使用SPFeatureCollection.我可以采取更好的方法解决这个问题吗?基本上我只是在寻找一些线索,因为我还没有得到任何东西SPFeatureCollection.
编辑 我一直在搞乱
SPFeatureCollection featureCollect = SPContext.Current.Site.Features
Run Code Online (Sandbox Code Playgroud)
但到目前为止,我遇到了SPContext返回null 的问题.
正如标题所问,InvalidOperationException当 FipsAlgorithmPolicy 在计算机上处于活动状态时,为什么 SHA512Managed 加密会导致出现问题?
对于 FIP 标准来说,它是否不够安全,或者是否太安全?
我想创建一个包含PowerShell脚本集合的可执行文件.在左侧,用户可以看到要选择和运行的不同脚本的列表,在右侧可以是输出.
如果我有一个基本的wpf应用程序,如下所示: 
我能在窗口的右侧部分创建PowerShell实例吗?
即是这样的: 
输出窗口(右侧)几乎只是用于运行任何脚本的输出.
在我对这个想法投入太多之前,甚至可以在WPF应用程序的窗口内运行/输出PowerShell脚本吗?
我显然只是错过了这个.我有以下内容:
List<string> stringList = new List<string>();
Run Code Online (Sandbox Code Playgroud)
然后我用一些数据填写它并执行以下操作:
foreach (List<string> results in stringList)
Run Code Online (Sandbox Code Playgroud)
但它错误声称它"无法从类型转换string为类型System.Generic.Collections.List<string>"......但两者都是类型,List<string>所以断开连接在哪里?我肯定必须有一些非常简单的东西,我显然做错了,但对于我的生活,我找不到它.
嗨,我有以下代码:
static void CalcWordchange()
{
List<string[]> l = new List<string[]>
{
new string[]{Question1, matcheditalian1},
new string[]{"Sam", matcheditalian2},
new string[]{"clozapine", matcheditalian3},
new string[]{"flomax", matcheditalian4},
new string[]{"toradol", matcheditalian5},
};
foreach (string[] a in l)
{
int cost = LevenshteinDistance.Compute(a[0], a[1]);
errorString = String.Format("To change your input: \n {0} \n into the correct word: \n {1} \n you need to make: \n {2} changes \n ".Replace("\n", Environment.NewLine),
a[0],
a[1],
cost);
}
}
Run Code Online (Sandbox Code Playgroud)
每次单击一个按钮时,foreach循环中的文本都会运行并输出一个句子(列表中的最后一项).我想要发生的是将所有5个项目输出到一个字符串中.
我添加了4个新变量(errorString2,3等),但无法解决如何输出它.
任何帮助表示赞赏,谢谢
c# ×6
security ×2
sharepoint ×2
.net ×1
encryption ×1
firewall ×1
hash ×1
javascript ×1
linq ×1
loops ×1
powershell ×1
string ×1
wmi ×1
wpf ×1