我正在开发一个Dev StopWatch,它具有一个用于按键计数器的可执行文件,以及一个用于主要软件的可执行文件,既不是m'y Key counter可执行文件在主要软件项目中也不在独立的Key counter项目中工作。 >
昨天工作还不错,但是现在不行了,我真的不知道原因。
不是因为最近的Windows更新对吗?
我已经清理了项目,进行了扫描,试图在代码中注释掉不必要的部分,当我删除逻辑时,他似乎可以检测到密钥,但是如果没有逻辑,它将无法正常工作,就像我说昨天一切正常。
using System;
using System.Runtime.InteropServices;
using System.IO;
using System.Threading;
using SlipegFramework;
namespace KeyStrokeCounter
{
class Program
{
[DllImport("user32.dll")]
public static extern int GetAsyncKeyState(Int32 i);
private static int Count = 0;
static void Main(string[] args)
{
//if (args[0] == "true")
//{
while (true)
{
Thread.Sleep(1);
for (int i = 0; i < 255; i++)
{
int KeyState = GetAsyncKeyState(i);
if (KeyState == 1 || KeyState == -32767) //Doesn't detect anything
{
Count++;
Console.WriteLine(KeyState);//So don't print anything for debug.
Console.WriteLine(Count);
SlipegFramework.IO.WriteToBinary(Environment.CurrentDirectory, "Strks.bin", Count); //You can ask for this code but it shoudn't be necessary
}
}
}
//}
}
}
}
仅应增加m'y Count变量并使用位于m'y个人工具中的BinaryWriter将其打印到bin文件中。
我不是英语,如果有任何不清楚之处,请对不起。感谢您给出的任何答案。
EDIT1: 我已经更新了Windows,并且我目前正在更新Visual Studio,即使我不认为他与它有关,并进行了系统扫描。这很奇怪,也许是我的系统,某种内存损坏了吗?。
user32.dll出问题了?我在一个新项目上尝试了此代码,但没有任何改变。
EDIT2: 进行了一些挖掘并有了一个主意,我将软件打开到了vm中,它可以正常工作,但是只能在vm中使用,所以这就是我的系统。我该如何解决?
有人知道吗?系统重启后,明天我会尝试更多。
答案 0 :(得分:0)
因此问题得以解决,这是由Windows 10的最新更新导致的,该更新回滚到以前的Windows 10修复程序。