草庐IT

c# - 通过 c# 控制台应用程序运行批处理文件。命令被忽略

我正在尝试使用此处的代码通过C#控制台应用程序执行.bat文件:ServicehangsupatWaitForExitaftercallingbatchfileKevin的解决方案有点管用,但我的.bat文件中的一些命令由于某种原因被忽略了,但是当我手动执行.bat文件时,所有命令都工作正常。例如从控制台应用程序执行.bat时xcopy命令不起作用,但启动命令工作正常。知道为什么会这样吗?附注最近我发现如果程序是从命令提示符启动的,它运行良好。怎么会?我仍然需要将其设置为自动运行,所以这并不能解决问题。此外,如果通过单击exe文件启动,输出显示复制文件夹1文件夹2但是如果从命令提示符启

windows - 从 cmd 脚本如何查找它是从 cmd 控制台调用还是通过单击资源管理器调用

我有一个脚本。如果从cmd控制台调用,将显示错误。但是,如果通过从资源管理器中单击进行调用,我想暂停它,以便用户有机会在窗口关闭之前阅读错误。有没有办法知道脚本是从cmd控制台还是从Windows资源管理器调用的?谢谢,杰斯 最佳答案 你可以看看%cmdcmdline%这将是一些类似的东西cmd/c""C:\path\foo.cmd""从资源管理器启动时。事实上,除非您的批处理文件运行cmd,否则您应该能够依赖该变量永远不会包含批处理文件的完整路径,除非通过open启动动词(这是Explorer所做的;但其他一些也是如此,例如Far

c# - 控制台应用程序/服务需要 40 秒才能启动

我基本上有以下内容:partialclassOperationWindowsService:ServiceBase{publicstaticvoidMain(string[]args){Console.WriteLine("Startingapp.");//...buildopserviceif(Environment.UserInteractive){Console.WriteLine("interactive");vartask=opservice.StartConsole(args);}else{ServiceBase.Run(opservice);logger.LogInfo(

c++ - 如何编写 C++ 控制台窗口程序

我想编写一个C++程序,以便根据配置文件可以是控制台应用程序或窗口应用程序。对于GUI,我使用的是WxWidget。我应该分别在Windows和Linux(Buntu)中做什么。有人可以提供一些简单的例子吗? 最佳答案 要在编译阶段执行此操作,使用条件编译很简单。您的配置文件将包含您想要的预处理器定义。例如#defineGUI或#defineCONSOLE然后在每个要编译的文件中包含配置文件#include"gui_or_console.h"最后,您使用条件编译告诉编译器要处理哪些代码#idfefGUI//someGUIcode#e

windows - 如何在 Windows 中获取控制台的名称?

是否可以在Windows中获取控制台的名称?就像Unix系统中的C函数ttyname所做的一样 最佳答案 您可以使用WinAPIGetConsoleTitle函数来检索它。您可能会找到linkstoalloftheconsolefunctions有用。您没有指定语言,所以here'stheone来自MSDN的C++#include#include#include#includeintmain(void){TCHARszOldTitle[MAX_PATH];TCHARszNewTitle[MAX_PATH];//Savecurrent

windows - 使用 Visual C++ 2010 制作的 Windows 控制台应用程序的最低操作系统是什么?

我使用VisualC++2010创建了一个控制台应用程序。我可以在哪个Windows版本上运行该程序?我知道这可能取决于您在程序中使用了哪些WindowsAPI函数,所以我只在我的程序中使用以下函数:GetStdHandle()SetConsoleTextAttribute()程序中的其他所有内容都是标准C++。我知道控制台应用程序应该能够在非常早的Windows版本上运行,但我不知道VC++2010的编译如何影响最低操作系统要求。那么,使用VisualC++2010在WindowsVista上编译的控制台应用程序是否能够在Windows95等平台上运行?

c# - 如何连接控制台应用程序和 Windows 窗体应用程序 C#

我将所有输入都放在我的控制台应用程序上,我喜欢这种方式。我的问题是,如何修复控制台应用程序中的示例读取输入,然后在Windows窗体应用程序中对其进行处理?我希望我的两个应用程序同时运行。控制台应用程序将在WinApp执行其他操作时执行某些操作,但如果我愿意,我可以连接它们。我试过了:Form1win=newForm1();win.show();但是没有用。我看到的窗口开关是堆叠的,不能正常运行。 最佳答案 1-创建winforms应用程序2-通过Project/Properties/Application/OutputType将输

c++ - 无法重定向程序的控制台输出

我有一个程序,我想将它的输出重定向到另一个文件。我尝试使用标准foo.exe>out.txt这不起作用,文件是空的,但是当我简单地从cmd运行它时,我可以正常看到所有消息。我确实注意到,如果我没有正确启动程序,并收到它的使用消息,它确实可以工作。我检查了源代码(C++),打印件(使用printf)似乎不是来自同一个线程。知道为什么会发生这种情况,我该如何解决? 最佳答案 我设法通过添加来解决这个问题setbuf(stdout,NULL);到主程序。我猜标准输出缓冲区没有刷新。 关于c++

windows - 在彩色控制台中生成 perl 脚本

在windows下,我在想system"start","cmd.exe","color""25""/k","script.pl"但它不起作用。有没有标准的方法来做到这一点? 最佳答案 首先,自start以来,您不应该使用system的多参数形式执行start是一个内置的外壳。但是Windows上的一个Perlbug特性假装你说了system'start"cmd.exe""color""25""/k""script.pl"'这让我们想到了start糟糕的语法。如果第一个参数被引用,它被认为是窗口标题。你要system'start"""

c++ - 如何在控制台应用程序中使用 GetMessage() 使用 Windows API 识别 C++ 中的键盘输入?

首先是大局:我正在尝试通过Windows7(64位)上的控制台程序同步两个外部设备。也就是说,设备1应该触发设备2。(出于好奇,设备1是NIUSB-6525,我正在使用它的变化检测功能。)我在while循环中使用GetMessage()来等待设备1触发的消息。(因为我没有为该硬件编写软件,所以我无法改变我必须阅读的事实这条消息。)阅读该消息后,它是dispatched.此分派(dispatch)导致回调函数,该函数使用设备2执行测量并将measurementComplete设置为true。一旦回调返回,循环结束。然后我执行清理并退出应用程序。问题是,用户在等待消息时也应该能够中止,例如