【问题标题】:c# KeyPressed doesn't capture special charsc# KeyPressed 不捕获特殊字符
【发布时间】:2012-06-25 14:12:47
【问题描述】:

我正在使用键盘记录器在按键被按下时捕获它们。

它可以正常工作,但不适用于特殊字符,例如“@、+£%*¨¨” .. 等

private void Test_KeyPress(object sender, KeyPressEventArgs e)
{
    if(e.KeyChar == (char)Keys.Return)
        WriteToTextFile(sb.ToString());
    sb.Append(e.KeyChar);
}

如果用户按下退格键,是否也可以删除字符?

【问题讨论】:

  • 这纯粹是为了教育目的,对吗? :)
  • ...和粗体要点 KeyPress 事件不是由非字符键引发的 :)

标签: c# winforms event-handling keylogger


【解决方案1】:

如果您正在处理控件,请尝试方法OnPreviewKeyDown(PreviewKeyDownEventArgs e)。我也遇到了问题,OnKeyPress 并非所有内容都被捕获。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多