草庐IT

console-application

全部标签

Windows-自动启动 : Application directory seems to be C:/Windows/system32/

当我的应用程序从Windows的自动启动启动时,Qt无法打开它。导致这个的错误是QDir().absoluteFilePath("settings.cnf")返回路径C:/Windows/system32/settings.cnf,即使我的文件位于我的工作目录中。有人知道我必须调用什么方法才能获得正确的路径吗? 最佳答案 使用默认构造函数QDir()默认为当前工作目录,可以是任何内容,具体取决于用户或系统从何处启动应用程序。对于UI应用程序,这是一条通常应该完全忽略的路径。要访问应用程序二进制文件旁边的数据,请使用QCoreAppl

windows - 获取执行批处理文件的 `The application failed to initialize properly`/3221225794 错误

在EventLog中有一个附加到自定义事件的计划任务,它执行以下行:重新连接.cmdc:\windows\system32\rasphone-f"phone_book.pbk"-d"vpn_connection"netstopmy_windows_servicenetstartmy_windows_service任务通常运行正常,没有错误。但有时它会返回错误Theapplicationfailedtoinitializeproperly(3221225794)。该任务配置为在system帐户下运行,因此它应该具有运行该批处理脚本所需的所有权限。为什么我总是收到这个错误?什么会导致它以及

c - 如何在 C 程序中重定向标准输入(在 Windows 下)

我有一个名为a.exe的简单C程序,其主循环如下:voidinput_console(){printf(">>");charin_string[256]={0};fgets(in_string,256,stdin);parse(in_string);}当我启动它并从我的键盘输入命令时,它是这样工作的:>>say_helloHello!>>say_goodbyeGoodbye!>>nocommandfound>>blablablablaCommandblablablablanotrecognized>>nocommandfound等等现在我想从文件而不是键盘读取输入,所以我这样准备了in

c - 如何在 C 中中止 getchar() 命令?

我基本上是一个初学者C++程序员...这是我第一次尝试用C编写代码。我正在尝试编写贪吃蛇游戏(使用system("cls"))。在这个程序中,我需要获取一个字符作为输入(基本上是让用户改变蛇的移动方向)......如果用户在半秒内没有输入任何字符,那么这个字符输入命令需要中止,我剩余的代码应该得到执行。请给出解决这个问题的建议。EDIT:Thanksforthesuggestions,butMymainmotiveofaskingthisquestionwastofindamethodtoabortthegetcharcommandeveniftheuserhasnotentereda

windows - TCL : Execute a windows command line and see the "flow" of the application

我试过下面的代码:setmy_cmd"|tracertgoogle.com"puts"Nowexecutingthecommand'$my_cmd':\n"setf[open$my_cmd"r"]#processcommandoutputwhile{[gets$fline]!=-1}{#printlineputs$line}close$f它适用于tracert我看到程序逐行运行,但对于我的应用程序(在附图中运行的那个),它等待应用程序完成,然后才显示所有输出。也用“exec”尝试了几种方法,但没有成功。它只有在我这样做时才有效:什么tcl代码可以让它工作?

c# - NotifyIcon 单击事件未触发

classMainProgram{staticNotifyIcon_notifyIcon;publicstaticvoidMain(){_notifyIcon=newNotifyIcon();_notifyIcon.Icon=newIcon("icon.ico");_notifyIcon.Click+=NotifyIconInteracted;_notifyIcon.Visible=true;while(true){Thread.Sleep(1000);}}staticvoidNotifyIconInteracted(objectsender,EventArgse){thrownewN

c++回车换行长字符串后跟较短的字符串

我有一个要打印状态消息的应用程序。但是,有时会出现较短的状态消息跟在较长的状态消息之后,这会导致以下情况:长消息:thisisthelongstatusmessagewhichislongerthantheshortone较短的消息:Thisistheshortstatusmessagewhichislongerthantheshortone//thisoneshouldendhere^我使用的代码是:cout我怎样才能克服这个问题并在打印新行之前先删除整行?最好使用跨平台解决方案,但目前我在Windows上工作注意:我已经尝试用\b或spaces覆盖该行,但这可能会导致在多行清理中删

c++ - 为什么我的 Windows 控制台关闭事件处理程序超时?

我在VS2017/Windows10中构建了以下程序。当我运行它时,我点击关闭并按预期调用ctrl_handler(),但在约三秒后该进程无论如何都被强制终止。这是个问题,因为我的真实应用程序写入了很大的日志文件,而三秒的时间不足以将它们写入磁盘。描述此行为的文档在哪里?它不在thosefortheCTRL+CLOSEsignal中.超时在哪里设置?可以在应用层修改吗?或者使用组策略?#includeboolmainThreadRunning;boolmainThreadFinished;BOOLctrl_handler(DWORDevent){if(event==CTRL_CLOSE

c++ - 非 unicode printf 不起作用

我在我的C++控制台应用程序中启用了宽字符串支持:_setmode(_fileno(stdin),_O_WTEXT);_setmode(_fileno(stdout),_O_WTEXT);我现在可以使用wprintf(或std::wcin)读取和输出unicode字符,但正因为如此,普通的printf(和std::cin)调用将不会工作,因为它们会抛出异常。有什么办法可以绕过/纠正这个问题吗?更换它们听起来不像是解决方案。 最佳答案 使用wprintf输出宽字符。printf不允许写入宽/unicode流:https://msdn.

c - Detecting if stdout is a console with MS Visual compilation, mingw64提供的console

我维护一个生成二进制数据的命令行实用程序。请求时,数据可以重定向到stdout。这在stdout被重定向到管道或文件时有效,但当stdout是一个控制台时,情况就不太一样了,因为它会垃圾控制台。为了保护用户免受此类错误,程序必须检测stdout是否是控制台,并在是时退出。现在,这并不是什么新鲜事,快速浏览一下Internet就会发现多种解决方案。主要缺点是没有“通用”方法,VisualStudio需要自己的风格。我用于Visual的控制台检测器有一个缺陷:它没有检测到stdout是一个控制台当控制台由mingw提供时,我认为这意味着它是mintty。这里是相关的代码部分:#ifdefi