相关疑难解决方法(0)

命令提示符中的QuickEdit模式如何以及为何冻结应用程序?

我最近遇到了与Windows命令提示符的问题,即启用,并单击窗口中选择文本,然后挂一个正在运行的程序快速编辑模式.这,显然,称为行为,我发现与此相关的几个问题:

应用程序如何"暂停"/"暂停"?该过程是否与SIGSTOP*nix上的信号类似?(我也有兴趣了解为什么这个功能首先存在?它似乎不直观且危险.)

windows signals cmd

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

如何编程禁用C#控制台应用程序的快速编辑模式?

我试过几个找到的解决方案,比如一个 - >

http://www.pcreview.co.uk/forums/console-writeline-hangs-if-user-click-into-console-window-t1412701.html

但是,我观察到GetConsoleMode(IntPtr hConsoleHandle,out int模式)中的模式对于不同的控制台应用程序将是不同的.它不是恒定的.

我是否可以在控制台应用程序上禁用鼠标单击(右/左按钮)以实现相同的方案.我发现它可以使用IMessageFilter完成,但仅适用于Window Form Application而不适用于控制台应用程序.

请指导.

c# console-application

18
推荐指数
3
解决办法
8658
查看次数

VS2010(Express)调试器在控制台应用程序中捕获Ctrl + C.

答案摘要

要避免调试器捕获Ctrl + C,请先关闭Visual Studio Hosting Process(在项目属性,Debug选项卡中找到)

如果您使用的是Visual Studio的Express版本,那就是您所能做的一切.

如果您使用的是Pro或更高版本的Visual Studio,您还可以打开Debug> Exceptions ...,Win32 Exceptions,并取消选中Ctrl + C.

作为替代方案,您可以在调试时使用Ctrl + Break,除非像我这样将Ctrl + C连接到您的大脑.

原版的

以下内容已经过编辑.汉斯似乎已经收回了他的答案,但他的提问帮助我缩小了问题陈述:

额外的清晰度

  • 我不想修改Ctrl + C的行为.
  • 我不是在找工作.
  • 我只是希望在调试会话期间按下Ctrl + C时调试器不会中断.

请注意,以下示例是人为的.这只是为了证明这种行为.我更改了ReadKey系列,因为它让人分心.

调试(运行)以下程序:

class Program
{
    static void Main()
    {
        System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
    }
}
Run Code Online (Sandbox Code Playgroud)

按Ctrl + C. 调试器将中断,就像在Sleep行上设置断点一样.

你怎么关掉这个?我不希望调试器完全违反Ctrl + C.

VS2008 Pro在家中不会发生这种情况.

我现在已经尝试了VS2008 Express和VS2010 Express(我可以轻松测试它的唯一版本),他们都做到了.这让我相信它是一种Express行为,或者是某个地方可以打开/关闭它.

  1. 是否有在任何版本/版本中打开/关闭此设置的设置?
  2. VS2008,VS2010或两者都存在此设置吗?
  3. Express版本中的设置是否公开?
  4. 我的VS2008 Pro实例是否独一无二?设置是在旧版本的Visual Studio中暴露出来的东西(我已经通过许多新版本进行了VS设置).

debugging visual-studio-2010 visual-studio visual-studio-debugging

12
推荐指数
2
解决办法
4684
查看次数