1、如何在.net的应用程序运行其它的EXE文件?
主要应用System.Diagnostics名字空间中的Process类
|
[C#]
|
2、如何获取正在运行程序的路径?
调用Application类中的ExecutablePath静态成员获取路径
| [C#]
textBox1.Text = Application.ExecutablePath; |
3、如何用System.Windows.Forms.Application.CompanyName设置公司名称?
在Assembly中设置,VS.Net的开发环境中是在 AssemblyInfo.cs(vb)的文件中设置的,打看文件可以公司信息和版本等信息
| [assembly: AssemblyCompany("haha公司")] |
4、如何确保在C#中只有一个程序(实例)运行?
主要应用System.Diagnostics名字空间中的Process类来实现,思路,我们在运行程序前,查找进程中是否有同名的进程,同时运行位置也相同程,如是没有运行该程序,如果有,就将同名的同位置的程序窗口置前.
| [C#]
public static Process RunningInstance() { Process current = Process.GetCurrentProcess(); Process[] processes = Process.GetProcessesByName (current.ProcessName); //查找相同名称的进程 foreach (Process process in processes) { //忽略当前进程 if (process.Id != current.Id) { //确认相同进程的程序运行位置是否一样. if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName) { //Return the other process instance. return process; } } } //No other instance was found, return null. return null; } |
5、如何把所有的系统中正在运行的所有进程显示出来呢?
用System.Diagnostics名字空间中的Process.GetProcess()静态成员
|
[C#]
|
6、如何列出所有正在运行的应用程序呢?
可有用EnumWindows 函数将枚举计算机上的所有现有窗口,但我们用System.Diagnostics名字空间的静态函数Process.GetProcesses()可以避免EnumWindows的互操作性问题。
| [C#]
Using System.Diagnostics; ... foreach ( Process p in Process.GetProcesses(System.Environment.MachineName) ) { if( p.MainWindowHandle != IntPtr.Zero) { //显示用户程序名 Console.WriteLine( p ); } } |
浙公网安备 33010602011771号