我想创建一个控制台应用程序,它将显示在控制台屏幕上按下的键,我到目前为止制作了这段代码:
static void Main(string[] args)
{
// this is absolutely wrong, but I hope you get what I mean
PreviewKeyDownEventArgs += new PreviewKeyDownEventArgs(keylogger);
}
private void keylogger(KeyEventArgs e)
{
Console.Write(e.KeyCode);
}
Run Code Online (Sandbox Code Playgroud)
我想知道,我应该在main中输入什么,以便我可以调用该事件?
简介:我想在Android Security上创建一个POC,需要确定Android设备上是否有任何KeyLogger运行.如果它正在设备上运行或安装,那么在我的Android应用程序中禁用它.
查询:
1.)这是否可以创建Android键盘记录器来拦截键盘事件并在后台作为服务运行?
2.)这是否可以识别是否有任何后台进程处理键盘事件?
3.)我可以通过我的应用程序代码停止任何其他后台服务(不属于我)吗?
如果你有,请帮助我提供合适的链接.
我想用Java编写一个关键的监听器.无论Java应用程序是否具有焦点,它都应跟踪所有按键操作.这可能吗?
如果我在应用程序中工作并且我从键盘按下键,我怎样才能在用户区中的GNU/LINUX下的C中捕获该键(或字符串),包括源应用程序的名称,而不是X11 :)
谢谢.
我读过Robert Martin的"清洁代码",它在80年代的Emacs中已经能够录制和播放你的编码会话.
我刚刚意识到我从这种练习中学到了多少,我很想了解自己!
但是我真的不认为录制屏幕(如视频)会非常有效,特别是因为Visual Studio已经无法忍受的速度慢,而且在播放器中寻找视频也很无聊.
相反,有一些插件可以记录我编码的内容(所以不是调试和视觉设计师等)真的很棒,并且可以回放给我看看我有多吮吸和在哪里.
这可能吗?
编辑:只是从书中引用,以显示这可能是多么有趣:
鲍勃进入模块.
他向下滚动到需要改变的功能.
考虑到他的选择,他停顿了一下.
哦,他正在向上滚动到模块的顶部以检查变量的初始化.
现在他向下滚动并开始输入.
哎呀,他正在抹掉他打字的东西!
他再次打字.
他再次擦掉它!
他输入了其他一半的东西但随后删除了!
他向下滚动到另一个函数,该函数调用他正在改变的函数以查看它是如何被调用的.
他向上滚动并键入他刚删除的相同代码.
他停顿了一下.
他再次删除了那段代码!
他弹出另一个窗口,看着一个子类.这个功能被覆盖了吗?
...
我正在使用pyHook,pythoncom和Pywin32模块,用Python制作一个小型键盘记录器.这是我的代码:
import pyHook, pythoncom, sys, logging
file_log = 'C:\\important\\log.txt'
def OnKeyboardEvent (event):
logging.basicConfig(filename=file_log, level=logging.DEBUG, format='%(message)s')
chr(event.Ascii)
logging.log(10, chr(Event.Ascii))
return True
hooks_manager=pyHook.HookManager()
hooks_manager.KeyDown = OnKeyboardEvent
hooks_manager.HookKeyboard()
pythoncom.PumpMessages()
Run Code Online (Sandbox Code Playgroud)
运行时,它会返回以下错误消息:
File "C:\Python27\lib\site-packages\pythoncom.py", line 2, in <module>
import pywintypes
ImportError: No module named pywintypes
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个错误?
我正在寻找从Python上观看Windows,Linux和Mac上的鼠标和键盘事件的方法.
我的应用程序是一个时间跟踪器.我不是在调查这个事件,我只记录它发生的时间.如果在一定时间内没有事件,例如10分钟,我假设用户已离开并停止当前项目.
当用户返回(事件再次进入)时,我等待片刻(因此不会被清洁人员或您的宠物或地震触发).如果事件持续的时间较长,我假设用户已经返回并弹出一个小的非活动窗口,在那里她可以选择将时间间隔添加到"中断",当前项目(会议等)或一个不同的项目.
我已经使用pyHook解决了Windows的键盘记录器.
在Linux上,我找到了一个解决方案,但我不喜欢它:我可以在/ etc/input中查看所有设备节点,并在每次看到事件时在/ var或/ tmp中的某处更新时间戳.有两个缺点:1.我无法判断事件是否来自运行时间跟踪器的用户和2.这个小程序需要以root身份运行(不好).
在Mac上,我还不知道.
问题:
是否有更好的方法来了解用户是否正在创建事件而不是在Linux上观看事件设备?
任何指针如何在Mac上做到这一点?
是否可以记录我在VIM中键入的所有命令以供以后分析?我的意思是每个简单的命令,如动作或改变文本,即jjjjjjkkkcw<newword>
如果在VIM中不可能,可能在linux上有一个键盘记录器,它可以附加到特定的窗口/进程?
我更喜欢in-vim日志记录,因为它可以选择为不同的vim模式提供不同的日志.另外,我不想记录"冒号"命令.
我刚开始研究一种工具来帮助我提高Vim的工作效率.我希望它将每个击键记录到一个文件,然后识别低效的使用模式.我希望它为每次击键存储一个时间戳.
我尝试使用-w和-W vim选项将每个击键转储到管道.但是,Vim不会在线报告击键,因此我无法获得可靠的时间戳.
我也尝试拦截来自tty的输入,将其写入管道并将其重定向为Vim的stdin.但随后Vim退出:
Vim: Warning: Input is not from a terminal
Run Code Online (Sandbox Code Playgroud)
我也发现了捕获每个键的技巧:http://vim.wikia.com/wiki/Capture_all_keys.我对vimscript一无所知,但我觉得这不是我想要的.
所以我现在的想法是:我需要拦截来自tty的输入,处理它然后将它写入Vim将用作输入的一些假tty.你是否同意这是最好的方法?如果是这样,有关我如何做到这一点的任何提示?
Powershell 可以监听并捕获按键吗?
是否可以编写一个 PowerShell 脚本,就像AutoHotkey一样,位于托盘中并等待您按下预定义的键盘键才开始执行?并且每次按下所述键时可能不会返回而是触发?
我想要实现的是 - 仅在启动脚本后按下按钮才执行预定义的脚本操作,因此将其放在桌面上并定义快捷键是行不通的。
例如:
我希望每次按“x”键时输入 3 次文本“TEST”,但我希望仅当执行此操作的脚本正在运行时才会发生这种情况。因此,当脚本未运行时 - 按“x”不会执行任何操作。
基本上,AutoHotkey 可以完全做到这一点,但如果可能的话,我想在 PowerShell 中执行此操作,而无需编写大量 C# 代码,因为那样我只需为此编写一个小型 C# 托盘应用程序。