VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • vb.net教程之微软.Net程序设计FAQ

蚕蛹··yesky 
  
  1、如何在.net的应用程序运行其它的EXE文件? 

  解答:主要应用System.Diagnostics名字空间中的Process类 

  主要代码: 


[C#]  
Process proc = new Process();  
proc.StartInfo.FileName = @"D:\Program Files\Foxmail\Foxmail.exe"; //可以用绝对路径 
proc.StartInfo.Arguments = "";  
proc.Start();  

[VB.NET]  
Dim proc As New Process()  
proc.StartInfo.FileName = "D:\Program Files\Foxmail\Foxmail.exe"  
proc.StartInfo.Arguments = ""  
proc.Start();  
  

  示例程序点击下载(C#) 

  2、如何检测当前操作系统? 

  解答:应用System名字空间中的Environment类 

  主要代码: 


[C#]  
string versionText = Environment.OSVersion.Version.ToString();  

[VB.NET]  
Dim versionText As String = Environment.OSVersion.Version.ToString();  
  

  示例程序点击下载(C#) 

  3、如何获取正在运行程序的路径? 

  解答:调用Application类中的ExecutablePath静态成员获取路径 

  主要代码: 


[C#]  
textBox1.Text = Application.ExecutablePath;  
[VB.NET]  
TextBox1.Text = Application.ExecutablePath  

  示例程序点击下载(C#)  

  4、如何查看电脑中已经安装的所有程序集? 

  解答:.Net Framework把所有的程序集安装在 系统安装盘\winnt\Assembly(隐含)目录下,查看属性可以看到该程序集的所有详细资料。  

  5、如何用System.Windows.Forms.Application.CompanyName设置公司名称? 

  解答:在Assembly中设置,VS.Net的开发环境中是在 AssemblyInfo.cs(vb)的文件中设置的,打看文件可以 
公司信息和版本等信息 

  主要代码: 


[assembly: AssemblyCompany("天极网蚕蛹-版权所有")]  

  6、如果用户的电脑没有安装.NET运行框架,是否可以运行.NET的程序? 

  解答:不可以,必需安装.NET Framework  

  可在下面地址下载 
http://msdn.microsoft.com/library/default.asp?url=/downloads/list/netdevframework.asp 

  7、如何获取本地的IP地址? 

  解答:在名字空间System.Net中定义了一个类Dns,其中有一个方法GetHostByName(),用来返回IPHostEntry 对象,此对象有一个属性是AddressList,此属性是一个IPAddress类型的数组,包含了计算机此时的所有的IP地址信息,包含了拨号上网得到的临时分配的IP地址和局域网固定的IP地址 

  主要代码: 


[C#] 
string s=""; 
System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;  
for (int i = 0; i < addressList.Length; i ++) 

s += addressList[i].ToString(); 

[VB.NET] 
Dim s As String = "" 
Dim addressList As System.Net.IPAddress() = Dns.GetHostByName(Dns.GetHostName()).AddressList 
Dim i As Integer 
For i = 0 To addressList.Length - 1 
s += addressList(i).ToString() + ControlChars.Lf 
Next i 

  示例程序点击下载(c#) 

  8、如何确保在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; 

[VB.NET] 

Public Shared Function RunningInstance() As Process 
Dim current As Process = Process.GetCurrentProcess() 
Dim processes As Process() = Process.GetProcessesByName(current.ProcessName) 
'查找相同名的进程 
Dim process As Process 
For Each process In processes 
'忽略当前进程 
If process.Id <> current.Id Then  
'确认相同名的进程运行位置是否相同 
If [Assembly].GetExecutingAssembly().Location.Replace("/", "\") = current.MainModule.FileName Then  
'返回其它的运行实例 
Return process  
End If  
End If  
Next process  
'没有其它实例,返加空值 
Return Nothing  
End Function 'RunningInstance   

  示例程序点击下载(C#) 

  9、如何把所有的系统中正在运行的所有进程显示出来呢? 

  解答:用System.Diagnostics名字空间中的Process.GetProcess()静态成员 

  主要代码: 


[C#]  
Using System.Diagnostics;  
...  
foreach ( Process p in Process.GetProcesses() )  
Console.WriteLine( p ); // string s = p.ToString();  

[VB.NET]  
Imports System.Diagnostics  
...  
Dim p As Process  
For Each p In Process.GetProcesses()  
Console.WriteLine(p) ' string s = p.ToString()  
Next p  
  

  示例程序点击下载(C#) 

  10、如何列出所有正在运行的应用程序呢? 

  解答:可有用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 ); // string s = p.ToString();  
}  
}  
[VB.NET]  
Imports System.Diagnostics  
...  
Dim p As Process  
For Each p In Process.GetProcesses(System.Environment.MachineName)  
If p.MainWindowHandle <> IntPtr.Zero Then  
'显示应用程序名 
Console.WriteLine(p) ' string s = p.ToString();  
End If  
Next p

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。


相关教程