string windows = Directory.GetParent(System.Environment.GetFolderPath(System.Environment.SpecialFolder.System)).FullName;
Process p = Process.Start(Path.Combine(windows, @"system32\calc.exe"));p.Kill();

解决方案 »

  1.   

    1.System.Diagnostics.Process.Start(@"C:\windows\system32\calc.exe");
    2.3 应该调用API吧,正在研究中
      

  2.   

    添加字段:
    Process pCal;运行:
    pCal = Process.Start("calc.exe");关闭:
    MyForm_OnClose()
    {
     p.Kill();
    }
      

  3.   

    to:pray1997(pray1997) / brbrm(般若波若密) 先谢谢了。
    但这样的代码不能满足条件2啊
      

  4.   

    // 运行
    string windows = Directory.GetParent(System.Environment.GetFolderPath(System.Environment.SpecialFolder.System)).FullName;
    Process p = Process.Start(Path.Combine(windows, @"system32\calc.exe"));// 最前
    SetWindowPos(new HandleRef(null, p.MainWindowHandle), new HandleRef(null, new IntPtr(-1)), 0, 0, 0, 0, 3);// 结束
    p.Kill();// API声明
    [DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
    public static extern bool SetWindowPos(HandleRef hWnd, HandleRef hWndInsertAfter, int x, int y, int cx, int cy, int flags);
      

  5.   

    问题解决了,谢谢各位。还有一个小问题,Directory 的命名空间是什么?
      

  6.   

    // from module 'c:\winnt\microsoft.net\framework\v1.1.4322\mscorlib.dll'
    public sealed class System.IO.Directory :
        object
    {    // Fields    // Constructors    // Methods
        public static System.IO.DirectoryInfo CreateDirectory(string path);
        public static void Delete(string path);
        public static void Delete(string path, bool recursive);
        public virtual bool Equals(object obj);
        public static bool Exists(string path);
        public static DateTime GetCreationTime(string path);
        public static DateTime GetCreationTimeUtc(string path);
        public static string GetCurrentDirectory();
        public static string[] GetDirectories(string path);
        public static string[] GetDirectories(string path, string searchPattern);
        public static string GetDirectoryRoot(string path);
        public static string[] GetFiles(string path);
        public static string[] GetFiles(string path, string searchPattern);
        public static string[] GetFileSystemEntries(string path);
        public static string[] GetFileSystemEntries(string path, string searchPattern);
        public virtual int GetHashCode();
        public static DateTime GetLastAccessTime(string path);
        public static DateTime GetLastAccessTimeUtc(string path);
        public static DateTime GetLastWriteTime(string path);
        public static DateTime GetLastWriteTimeUtc(string path);
        public static string[] GetLogicalDrives();
        public static System.IO.DirectoryInfo GetParent(string path);
        public Type GetType();
        public static void Move(string sourceDirName, string destDirName);
        public static void SetCreationTime(string path, DateTime creationTime);
        public static void SetCreationTimeUtc(string path, DateTime creationTimeUtc);
        public static void SetCurrentDirectory(string path);
        public static void SetLastAccessTime(string path, DateTime lastAccessTime);
        public static void SetLastAccessTimeUtc(string path, DateTime lastAccessTimeUtc);
        public static void SetLastWriteTime(string path, DateTime lastWriteTime);
        public static void SetLastWriteTimeUtc(string path, DateTime lastWriteTimeUtc);
        public virtual string ToString();
    } // end of System.IO.Directory