C#应用程序如何不弹出cmd命令行窗口执行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#应用程序如何不弹出cmd命令行窗口执行相关的知识,希望对你有一定的参考价值。
C#的一个小程序,如何实现运行时不弹出cmd的黑窗口,只是创建了进程并且在后台一直运行?
题主写的是控制台程序么?
创建好控制台程序后,选中项目,右键,属性,输出类型选为“Windows 应用程序” 这样就没有DOS窗口了。如图:
是控制台程序,这样改完了程序貌似一打开就被关闭了。
我是在程序里写了一个定时器的事件,让程序一运行就不断运行定时器,但是不要有那个命令行的窗口.....
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打开某应用程序命令行并在打开的应用程序中执行指定命令?