我写了非常非常简单的控制台应用程序,它支持一些命令行选项。 如果没有命令行参数(这意味着只有一个参数),应用程序closures而不显示黑色的窗口,目前如果你运行下面的代码,因为它没有命令行参数,它会立即closures,但它会显示黑色的窗户一秒钟,我想避免它。 那么我怎样才能以简单的方式做到这一点呢?
#include <iostream> using namespace std; int main(int argc,char** argv) { if (argc==1) return 0; if (argc!=1) for (int i=2; i<=argc; i++) cout << argv[i] << endl; cin.sync();cin.get(); return 0; }
在cmd.exe命令行中必须转义哪些符号?
boost :: program_options – parsing多个命令行参数,其中一些是包括空格和字符的string
Python不打印所有的sys.argv
寻找非官方的命令行开关
如果创建控制台应用程序,则无法从控制台窗口创建中转义。
但是你可以用入口点WinMain创建win32应用程序 ,并且不需要创建窗口,只是作为控制台程序工作。
要运行该程序,Windows需要一个控制台窗口。 控制台窗口创建后,控制进入main。 只有在主内部可以检查命令行参数。 这意味着,不可能做你想做的事情。
但是,您可以使用CreateProcess API在不显示控制台窗口的情况下运行程序。 因此,如果您可以从其他程序运行控制台应用程序,则可以检查是否有命令行参数,然后决定是否使用CreateProcess来显示控制台窗口。
要不使用CreateProcess显示控制台窗口,请将STARTUPINFO的dwFlags参数设置为STARTF_USESHOWWINDOW,并在wShowWindow参数中指定SW_HIDE。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。