标签: ctrl

如何检查控制台应用程序中是否按下了 CTRL 键 C#

我要启动一个控制台应用程序。问题是如何确定 CTRL 键是单独按下的,没有任何其他键。

using System;
using System.Text;

public class ConsoleKeyExample
{
   public static void Main()
    {

       ConsoleKeyInfo input;
       do
       {
           input = Console.ReadKey(true);
           StringBuilder output = new StringBuilder(String.Format("You pressed {0}",input.Key.ToString()));

           Console.WriteLine(output.ToString());
           if ((input.Modifiers & ConsoleModifiers.Control) != 0)
           {
               Console.WriteLine("CTRL Pressed");
            }
       } while (input.Key != ConsoleKey.Escape);
   }
  }
Run Code Online (Sandbox Code Playgroud)

我想监视 CTRL 键的行为。跟踪此代码后,我在 readkey 行上放置了一个检查点,但是当我按下 CTRL 时,什么也没有发生,但是当我按下任何其他键(如“K”)时,它开始从键盘读取键。

c# ctrl console.readkey

6
推荐指数
2
解决办法
6490
查看次数

空闲 bash 脚本,直到记录 CTRL+c 事件

我有一个 bash 脚本可以完成一些工作,而且完成得相当快。然后它应该空闲,直到用户决定终止它,然后是一些清理代码。

这就是我使用以下代码捕获CTRL+c事件的原因:

control_c()
{
  cleanup
  exit 0
}

trap control_c SIGINT
Run Code Online (Sandbox Code Playgroud)

但是由于我的脚本完成得非常快,我永远不会故意终止它,因此它永远不会捕获 CTRL+c并运行清理代码。

我想我可以在脚本的末尾实现一个无限do while循环sleep,但我认为有更好的解决方案。

如何在 bash 中空闲脚本,期待CTRL+c事件?

linux bash sleep ctrl

6
推荐指数
2
解决办法
4330
查看次数

如何设置和恢复FPU CTRL寄存器?

我可以用这个重置FPU的CTRL寄存器:

http://support.microsoft.com/kb/326219

但是如何保存当前寄存器并在以后恢复呢?

它来自.net代码..

我正在做的是,Delphi将.net dll称为COM模块.检查Ctrldelphi中的寄存器会产生一个值,使用.net代码中的controlfp检查会产生另一个值.我需要的是,必须做到这一点:

_controlfp(_CW_DEFAULT, 0xfffff); 
Run Code Online (Sandbox Code Playgroud)

所以.net代码中的浮点计算不会崩溃,但我想Ctrl在返回时恢复寄存器.

也许我没有?也许Delphi在需要时重置它们?我在这里写了关于这个问题的博客.

.net delphi fpu ctrl

5
推荐指数
2
解决办法
1638
查看次数

使用C#使用Ctrl覆盖Caps Lock

我正在使用C#和Visual Studio 2008 编写(我知道的另一个)键盘重映射器.

我按照本指南学习了如何抢购低级按键.这可以很好地覆盖我的键盘上的普通字母字符,但我似乎需要更多的Caps Lock行为Ctrl.

我的理解(这可能是不正确的)是,Caps LockCtrl因为是完全彼此不同的处理Caps Lock是一个拨动键,而Ctrl仅仅是一个"正常"的一个.

所以我在这里想要理解的是如何使Caps Lock行为像Ctrl最低级别的键,以及如何使普通Ctrl键像Caps Lock键一样.

谢谢

c# ctrl capslock remap

5
推荐指数
1
解决办法
1899
查看次数

通过命令行发送 Ctrl+Z 到串口

我正在尝试使用 ECHO 或类似方法通过命令行将以下内容发送到 COM1 串口(我也尝试下载一个名为 serialsend 的小程序,但我坚持如何发送等效的CTRL+ Z。这是发送一个通过西门子 TC35 GAM 模块发送 SMS 消息。作为测试,我可以通过超级终端执行此操作,并且运行良好,但我无法弄清楚如何在末尾发送CTRL+Z以确认消息的正确性。

这就是我所拥有的:

AT

AT+CMGF=1

AT+CMSG="+xxxxxxxxxxx"

HELLO
Run Code Online (Sandbox Code Playgroud)

现在,在 Hello 之后,这是我要发送的消息,我必须发送CTRL+ Z。但不知道怎么做,我试过这个:

AT

AT+CMGF=1

AT+CMSG="+xxxxxxxxxxx"

HELLO

\x1A
Run Code Online (Sandbox Code Playgroud)

正如我读到的那样,这相当于这样做,但它没有奏效。

谁能帮我这个?我找到了解决方案,但它们不是命令行,这正是我所需要的。

我也尝试过使用这种格式:

ECHO AT > COM1:
Run Code Online (Sandbox Code Playgroud)

但由于我不知道如何发送CTRL+Z我不知道它是否有效。

command-line serial-port ctrl

5
推荐指数
1
解决办法
3万
查看次数

如何禁用ctrl +单击以在IE 10中选择文本?

在IE 10,当你在任何文本点击按住CTRL键浏览器选择文本(这意味着文本获得焦点,我想避免这种情况,因为我有一些多选场景CTRL+单击来添加/删除选) .

如何禁用此"功能"?

顺便说一句,我仍然希望能够使用通常的鼠标操作选择文本.

click ctrl textselection internet-explorer-10

5
推荐指数
1
解决办法
1515
查看次数

如何确定启动应用程序时是否按下了SHIFT或CTRL键

我需要能够确定在启动应用程序时是否按下了SHIFT或CTRL键

如何为Windows窗体应用程序执行此操作?

vb.net ctrl shift winforms vb.net-2010

5
推荐指数
2
解决办法
1万
查看次数

当 Python 引发异常时回滚操作的最佳方法

我有一个代码,如下所示:

# step 1 remove from switch    
for server in server_list:
    remove_server_from_switch(server)
    logger.info("OK : Removed %s", server)

# step 2 remove port
for port in port_list:
    remove_ports_from_switch(port)
    logger.info("OK : Removed port %s", port)

# step 3 execute the other operations
for descr in pairs:
    move_descr(descr)

# step 4 add server back to switch    
for server in server_list:
    add_server_to_switch(server)
    logger.info("OK : server added %s", server)

# step 5 add back port 
for port in port_list:
    add_ports_to_switch(port)
    logger.info("OK : Added port %s", …
Run Code Online (Sandbox Code Playgroud)

python exception undo ctrl rollback

5
推荐指数
1
解决办法
2906
查看次数

在Ubuntu 16.04中切换键盘布局时,setxkbmap设置丢失了

我使用以下方法将我的Caps Lock设置为Ubuntu 16.04中的Ctrl: setxkbmap -option 'caps:ctrl_modifier' 但是当我将键盘从En更改为Cs时,Caps Lock再次成为Caps Lock,而不是Ctrl.

要修复它,我必须setxkbmap从终端再次执行上述命令.

即使切换键盘布局,如何使设置永久化?

keyboard ubuntu ctrl capslock ubuntu-16.04

5
推荐指数
1
解决办法
2990
查看次数

意外 ctrl + Z 后本地主机超时

我目前正在 Codeanywhere 上创建一个与后端 API/服务器通信的网站。我使用 8080(前端)和 8081(服务器)上的端口运行 server.js 节点脚本。但是,我通常使用 Ctrl + C 关闭连接,但我不小心使用 Ctrl + Z 关闭服务器,从那以后我无法再次运行它。由于我不小心使用了 Ctrl + Z 并在执行其他任何操作之前关闭了 codeanywhere 上的选项卡,因为担心在运行脚本时会损坏我在 codeanywhere 上的本地主机,因此将无法连接,而是需要太长时间和超时。我迫切需要一个解决方案,因为这是大学模块。

localhost ctrl server codeanywhere

5
推荐指数
1
解决办法
1795
查看次数