0
此代碼獲取所有具有卸載條目及其應用程序路徑的軟件。但是,鑑於我有應用程序路徑,我不知道該軟件的主要.exe的名稱。有什麼方法可以找到找到的應用程序的主要.exe文件?VB.NET/C#查找已安裝的軟件名稱和應用程序路徑後如何找到exe名稱
'Declare the string to hold the list:
Dim Software As String = Nothing
'The registry key:
Dim SoftwareKey As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
Using rk As RegistryKey = Registry.LocalMachine.OpenSubKey(SoftwareKey)
'Let's go through the registry keys and get the info we need:
Dim j As Integer = 0
For Each skName As String In rk.GetSubKeyNames()
Using sk As RegistryKey = rk.OpenSubKey(skName)
Try
'If the key has value, continue, if not, skip it:
If Not (sk.GetValue("DisplayName") Is Nothing) And Not (sk.GetValue("InstallLocation") Is Nothing) And
Not (sk.GetValue("InstallLocation") = "") Then
Dim instanceremoved As Boolean = False
For Each item As ListViewItem In ListInstalled.Items
If item.SubItems.Item(1).Text = sk.GetValue("InstallLocation") Then
item.Remove()
instanceremoved = True
End If
Next
If instanceremoved = False Then
Dim itemAdd As ListViewItem = ListInstalled.Items.Add(sk.GetValue("DisplayName"))
itemAdd.SubItems.Add(sk.GetValue("InstallLocation"))
End If
End If
'No, that exception is not getting away... :P
Catch ex As Exception
MsgBox(ex)
End Try
End Using
j = j + 1
Next
End Using
哪裏存放的主要exes? – user670186 2012-02-26 16:27:17
在文件系統上的不同位置不在註冊表中 – 2012-02-26 17:20:04
是的,但是有沒有一些標準的方法來檢索已安裝軟件的主要exe名稱或用戶是否必須自己選擇它? – user670186 2012-02-26 17:57:14