草庐IT

CTRL_CLOSE_EVENT

全部标签

windows - TerminateProcess 与 Ctrl+C

我有一个使用SQLite3维护数据库文件的控制台模式程序。执行需要一段时间,但假设数据库写入发生,在任何时候取消都应该是安全的。(这都是Windows下的)从正在运行的程序的角度来看,在控制台中按CtrlC是否比让另一个程序对其调用TerminateProcess更安全?我注意到,如果调用TerminateProcess,我可能会损坏数据库-我认为这是因为程序没有机会完成写入。我的猜测是CtrlC更好,因为程序收到信号并自行终止,而不是操作系统杀死它。请注意,该程序实际上并不处理信号(除非SQLite处理);我说的是Win32可执行文件的内置默认机制来处理CtrlC信号。澄清/简化问题

.net - 显示只有 "Close"或 "Cancel"按钮的错误对话框 (MessageBox)?

我读入了WindowsExperienceGuidelines:ErrorMessages“确定”是错误对话框中显示的错误按钮。...provideaClosebutton.Don'tuseOKforerrormessages,becausethiswordingimpliesthatproblemsareOK.那么,如何使用单个关闭/取消按钮显示一个简单的错误对话框?标准MessageBox是否可行?类还是我必须求助于自定义对话框(或库)或其他Win32消息/p-invoke“hacks”?(MessageBoxButtons枚举中似乎没有任何相关内容。)谢谢。

windows - 如何在 vim 中键入某些命令,如 CTRL-] ^Wc 等。在德语键盘上

我坐在这里感觉很傻——vim帮助告诉我按CTRL](到按照帮助中的链接),我无法得到它!?与^Wc相同的问题(关闭拆分窗口)我有一个德语键盘,尤其是CTRL]似乎对我不起作用。我该怎么做?到目前为止,感谢您的帮助,除了CTRL]似乎都可以工作!知道如何让它发挥作用吗? 最佳答案 我有一个克罗地亚语键盘和几乎相同的问题(因为我没有,例如上面的“]”)。您是否考虑过将这些键重新映射到您可以使用的东西而不是Ctrl-]键。例如,简单的enter对我来说效果很好。为此,您只需进入“/vimfiles/ftplugin/”目录,并创建一个名为

c - Ctrl-D(Unix)和Ctrl-Z(Windows)的不同行为

按照标题,我试图用gets(需要使用)在while循环中了解Ctrl+D/Ctrl+Z的确切行为。我正在测试的代码如下:#include#includeintmain(){charstr[80];while(printf("Insertstring:")&&gets(str)!=NULL){puts(str);}return0;}如果我的输入仅仅是Ctrl+D(或Windows上的Ctrl+Z),则gets返回NULL,并且程序正确退出。目前尚不清楚的情况是,当我插入house^D^D(Unix)或house^Z^Z\n(Windows)之类的东西时。在第一种情况下,我的解释是getc

windows - 消费 "Event Tracing for Windows"事件

对this的回答这个问题让我考虑使用“Windows事件跟踪”来满足我们的跟踪需求。我遇到过NTrace,这似乎是从C#代码生成ETW事件的好方法(使用与XP兼容的“经典提供程序”模型)。但是,我无法找到一种简单的方法来使用这些事件-实时查看它们和/或将它们记录到文件中。我找到的唯一方法是NTrace文档中描述的方法:使用仅作为WindowsDDK的一部分提供的工具。在现场出现复杂问题的情况下,我们可能需要要求用户生成包含跟踪的文件。我们不能要求用户下载DDK或执行一些复杂的操作来执行此操作。是否有直接、用户友好的方式将ETW事件记录到文件中?此外,如果某人未以管理员身份运行,是否可以

c++ - Windows 在不同线程中处理 CTRL+C?

这是一个在linux和windows上处理CTRL+C信号的简单应用程序:#include#include#includevoidSigIntHandler(){qDebug()quit();}#ifdef__linux__#includevoidunix_handler(ints){//svakakojeSIGINT,alidanejavljawarningdasesnekoristiif(s==SIGINT)SigIntHandler();}#else#includeBOOLWINAPIWinHandler(DWORDCEvent){switch(CEvent){caseCTRL_

windows - CMD 脚本 : How to close the CMD

我创建了一个小命令,可以让我启动InternetExplorer。但是,我希望关闭启动IE时出现的小命令提示符。我怎样才能做到这一点?这是我当前的代码:"%ProgramFiles%\InternetExplorer\iexplore.exe"http://localhost/test.htmlPAUSE我猜如果我取消暂停。它会在关闭IE时关闭CMD框??还有另一个命令,我可以用它来简单地创建一个命令,让我用一个小图标向菜单添加一些东西,然后运行上面的命令。这很复杂吗?我可以使用任何教程吗?谢谢大家 最佳答案 使用开始命令:star

c - 我想在我的 ANSI-C 代码中禁用 Windows XP 中的 CTRL+ALT+DEL?

我想在我的ANSI-C代码中禁用WindowsXP中的CTRL+ALT+DEL。有可能吗? 最佳答案 首先,捕获Ctrl-Alt-Del(安全注意序列)和禁用它是两件不同的事情。尽管许多人存在误解,但仍有可能禁用SAS。这里有3种方法:设置HKCU/Software/Microsoft/Windows/CurrentVersion/Policies/System/DisableTaskMgr=1把msgina.dll换成你自己的或者自己写一个键盘驱动。转到“开始”菜单,选择“运行”,然后键入“gpedit.msc”以运行组策略编辑器

c++ - Windows/MinGW下相当于 "SIGINT"(posix)信号,用于捕获 "CTRL+C"

我正在windows下移植一个Linux/gcc程序,并为两者实现了常见的异常处理。我想知道什么是MinGW/gcc的SIGINT信号。这是我在Linux下的处理方式:staticvoidhandler(intsig){//Catchexceptionsswitch(sig){caseSIGABRT:fputs("CaughtSIGABRT:usuallycausedbyanabort()orassert()\n",stderr);break;caseSIGFPE:fputs("CaughtSIGFPE:arithmeticexception,suchasdividebyzero\n"

windows - 有没有办法在 Windows 上获得比 Meta 和 Ctrl 更多的功能?长期的 Emacs 用户想要 Hyper/Super

我在Linux上使用Emacs多年,我有很多个人有用的键绑定(bind),我把它们放在Hyper和Super下。现在我在Windows上使用Emacs并且缺少那些额外的键绑定(bind)。除了Ctrl和Meta之外,Windows中是否有一些方法可以获取修饰键? 最佳答案 thisgoogle-groupsthread:中提到了一些设置;settingthePCkeyboard'svariouskeystoSuperorHyper(setqw32-pass-lwindow-to-systemnilw32-pass-rwindow-t