VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
當前位置:
魔兽世界wow > 編程開發 > VBnet >
  • vb.net教程之微軟.Net程序設計FAQ

  • 2017-06-06 15:40 來源:未知
蠶蛹··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  

  可在下面地址下載 
//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

本欄文章均來自于互聯網,版權歸原作者和各發布網站所有,本站收集這些文章僅供學習參考之用。任何人都不能將這些文章用于商業或者其他目的。

相關教程