zoukankan      html  css  js  c++  java
  • C#之Process

    一、C#中利用process类调用外部程序以及执行dos命令

    c#中的Process类可方便的调用外部程序,所以可以通过调用cmd.exe程序加入参数 "/c " + 要执行的命令来执行一个dos命令
    (/c代表执行参数指定的命令后关闭cmd.exe /k参数则不关闭cmd.exe)

    class ExampleOfLegalsoft
    {
    	 private string RunCmd(string command)
    	 {
    		  //實例一個Process類,啟動一個獨立進程
    		  Process p = new Process();
    		  //Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:
    		  p.StartInfo.FileName = "cmd.exe";			  //設定程序名
    		  p.StartInfo.Arguments = "/c " + command;	 //設定程式執行參數
    		  p.StartInfo.UseShellExecute = false;		  //關閉Shell的使用
    		  p.StartInfo.RedirectStandardInput = true;	//重定向標準輸入
    		  p.StartInfo.RedirectStandardOutput = true;  //重定向標準輸出
    		  p.StartInfo.RedirectStandardError = true;	//重定向錯誤輸出
    		  p.StartInfo.CreateNoWindow = true;			 //設置不顯示窗口
    		  p.Start();	//啟動
    		  //p.StandardInput.WriteLine(command);		 //也可以用這種方式輸入要執行的命令
    		  //p.StandardInput.WriteLine("exit");		  //不過要記得加上Exit要不然下一行程式執行的時候會當機
    		  return p.StandardOutput.ReadToEnd();		  //從輸出流取得命令執行結果
    	 }
    }
    

    二、Process.WaitForExit() and Deadlock

    Link:http://www.cnblogs.com/kissknife/archive/2009/09/07/1561629.html


    三、C# Getting Current Native Thread (操作系统进程线程)

    The native OS threads running in the current process are exposed through the Threads property of the Process class. Please note that this is not the same as a managed thread, these are the actual native threads running on the operating system.

    In order to get a pointer to the current executing thread, we must use P/Invoke. Here's how we do it:

    [DllImport("kernel32.dll")]
    publicstaticexternUInt32 GetCurrentThreadId();
     
    UInt32 id = GetCurrentThreadId();
    ProcessThread thread = Process.GetCurrentProcess().Threads.Cast<processthread>().Where(t => t.Id == id).Single();

    作者:Angelo Lee
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    遭遇奸商(主板篇)
    空调匹数与房间制冷时对应的适用面积
    MDIHelp!窗口BUG
    数据库主键设计之思考(转)
    显卡功耗表(转)
    PowerBuilder中的几种通用类
    PowerBuilder常用技巧
    当adobe flash player不能安装时
    vue常用语法
    简单的数据库命令
  • 原文地址:https://www.cnblogs.com/yefengmeander/p/2887653.html
Copyright © 2011-2022 走看看