string windows = Directory.GetParent(System.Environment.GetFolderPath(System.Environment.SpecialFolder.System)).FullName;
Process p = Process.Start(Path.Combine(windows, @"system32\calc.exe"));p.Kill();
Process p = Process.Start(Path.Combine(windows, @"system32\calc.exe"));p.Kill();
2.3 应该调用API吧,正在研究中
Process pCal;运行:
pCal = Process.Start("calc.exe");关闭:
MyForm_OnClose()
{
p.Kill();
}
但这样的代码不能满足条件2啊
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);
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