我的KeyStrokesCounter到目前为止运行良好

时间:2019-02-17 04:04:23

标签: c# .net

我正在开发一个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中使用,所以这就是我的系统。我该如何解决?

有人知道吗?系统重启后,明天我会尝试更多。

1 个答案:

答案 0 :(得分:0)

因此问题得以解决,这是由Windows 10的最新更新导致的,该更新回滚到以前的Windows 10修复程序。