C# WinForm小结

1 篇文章 0 订阅

C#运行文件(类似批处理)

Process myprocess = new Process();
//参数一:运行的文件   参数二:运行文件的参数
ProcessStartInfo startInfo = new ProcessStartInfo("Nginx.exe", "-v");
myprocess.StartInfo = startInfo;
myprocess.StartInfo.UseShellExecute = false;
myprocess.StartInfo.CreateNoWindow = true;
myprocess.Start();

比如用notepad打开a.txt

ProcessStartInfo startInfo = new ProcessStartInfo("Nginx.exe", "-v");

定时器

启动

System.Timers.Timer myTimer = new System.Timers.Timer();
String textBox2Text = this.textBox2.Text;
myTimer.Interval = 2000;
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(autoStart);
myTimer.AutoReset = true; //每到指定时间Elapsed事件是触发一次(false),还是一直触发(true)
myTimer.SynchronizingObject = this;
myTimer.Start();
//如果不写下面这句会有一个异常。
//异常:线程间操作无效: 从不是创建控件"richtextbox"的线程访问它
//但这不是最好的方法。如果只有一个进程调用richtextbox而已。就可以用下面这句
//如果有多个线程调用richtextbox等控件。就要用委托。具体百度
//一篇参考博客http://www.cnblogs.com/zyh-nhy/archive/2008/01/28/1056194.html
//Control.CheckForIllegalCrossThreadCalls = false;

autoStart为定时器定时执行的方法

private void autoStart(object sender, System.Timers.ElapsedEventArgs e)
{
this.label1.Text+="a";
}

终止

myTimer.Stop();
myTimer.Close(); //释放Timer占用的资源
myTimer.Dispose();

查看进程是否存在

Process[] processAfter = System.Diagnostics.Process.GetProcessesByName("nginx");
int num=processAfter.Length;

终止进程

Process[] killprocess = System.Diagnostics.Process.GetProcessesByName(processName);
if (killprocess.Length > 0)
{
    foreach (Process P in killprocess)
       {
         P.Kill();
       }
}



 

 


 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值