C#应用程序如何不弹出cmd命令行窗口执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#应用程序如何不弹出cmd命令行窗口执行相关的知识,希望对你有一定的参考价值。

C#的一个小程序,如何实现运行时不弹出cmd的黑窗口,只是创建了进程并且在后台一直运行?

题主写的是控制台程序么?

创建好控制台程序后,选中项目,右键,属性,输出类型选为“Windows 应用程序” 这样就没有DOS窗口了。如图:

追问

是控制台程序,这样改完了程序貌似一打开就被关闭了。
我是在程序里写了一个定时器的事件,让程序一运行就不断运行定时器,但是不要有那个命令行的窗口.....

参考技术A 供参考:
Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = YourApp_Path; //"diskpart.exe";
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.Start();
你可以生成你的命令行程序,然后在另外的C#窗口程序中调用如上代码,然后把窗口程序设置成透明。。。
参考技术B 建议:
运行 cmd.exe,然后在命令提示符输入 cmd /?,仔细查看参数表说明。

参考:
http://blog.csdn.net/qqamoon/article/details/6960758

命令行参数

以命令行方式运行程序:

  举例:

    第一步:按住windows键和R键,在弹出的窗口输入cmd,打开命令行窗口(控制台)。

    第二步:在相应的磁盘中敲notepad helloworld.txt。即可用记事本打开helloworld.txt文件。

    结果如下:

      技术分享图片

命令行参数:

用户在CMD窗口用输入可执行文件名的方式启动程序时,跟在可执行文件名后面的那些字符串,称为“命令行参数”。

命令行参数可以有多个,以空格分隔。(如果命令行参数里面有空格就用双引号括起来)

比如,在CMD窗口敲: copy file1.txt file2.txt 就是启动了copy这个程序,它能将file1拷贝到file2里面去.

  其中“copy”,“file1.txt”,“file2.txt”就是命令行参数。

假设你编写了copy程序,那你的copy程序就应该能获得命令行参数,怎么来获得呢?

我们要求,想获得命令行参数的C程序或C++程序,它的main函数形式需要改为:

  int main(int argc, char *argv[])

  其中: argc:代表启动程序时,命令行参数个数。C/C++语言规定,可执行程序程序本身的文件名也算一个命令行参数。因此,argc的值至少是1.

      argv:是一个指针数组,里面每一个元素都是一个char* 类型的指针,该指针指向一个字符串,即指向命令行参数。

         如argv[0]指向第一个命令行参数,也就是可执行文件名。argv[1]指向第二个命令行参数…… 

如编写一下程序:

 

1 #include<iostream>
2 using namespace std;
3 int main(int argc, char const *argv[])
4 {
5     for(int i = 0; i < argc; i++) //遍历argv数组,数组里有argc个元素
6         cout << argv[i] << endl; //打印数组中每个字符串指向的字符串
7     return 0;
8 }

 

 

将上面代码编译成zero.exe,然后在控制台窗口敲:

  zero para1 para2 z.txt.0 "hello world"

其结果如下:

技术分享图片

 ....................................................................................................................................................

另外介绍一个可以看电脑电池使用情况的命令行参数(不过这个要进入windows powershell才能用):

powercfg /batteryreport /output "E:atteryreport.html"  注意空格

 


以上是关于C#应用程序如何不弹出cmd命令行窗口执行的主要内容,如果未能解决你的问题,请参考以下文章

用C语言写的API运行的时候总是先弹出一个命令行窗口,如何让他不弹出来?

BAT批处理文件的msdos窗口如何开机自动后台运行不弹出窗口?

如何让Node命令行程序直接在Windows CMD中输入命令执行

如何使用CMD打开某应用程序命令行并在打开的应用程序中执行指定命令?

wpf程序调用cmd命令行的方法(C#语言调用C++写的程序)?

命令行参数