在我的應用程序中,人們可以使用teamviewer連接到遠程計算機。人們可以選擇名稱並點擊連接,teamviewer應用程序將以正確的參數開始,並開始一個teamviewer會話。VB.NET獲取文件路徑應用程序teamviewer
只有一個問題,我如何獲得teamviewer的安裝路徑。
我以爲我可以使用註冊表來獲取路徑,所以我寫了這段代碼。
Dim regKey As RegistryKey
regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\TeamViewer\Version7", True)
TeamViewerPath = regKey.GetValue("InstallationDirectory", AccessibleDescription)
它可以完美運行,它會得到在安裝的TeamViewer正確的路徑,但這只是工作了64位的Windows 7。我怎麼會做這項工作的Windows XP 32位和Windows 7 32位。
編輯:寫下面的代碼,它的工作原理,它可能不是最好的或最乾淨的方式,但它的伎倆。
Dim regKeyW7 As RegistryKey
Dim regKeyWXP As RegistryKey
Dim TeamViewerPath As String
regKeyW7 = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\TeamViewer\Version7", True)
If regKeyW7 Is Nothing Then
regKeyWXP = Registry.LocalMachine.OpenSubKey("SOFTWARE\TeamViewer\Version7", True)
TeamViewerPath = regKeyWXP.GetValue("InstallationDirectory", AccessibleDescription)
Label21.Text = "Windows XP"
Else
TeamViewerPath = regKeyW7.GetValue("InstallationDirectory", AccessibleDescription)
Label21.Text = "Windows 7"
End If
不要給它們分配一個值之前聲明變量。您可以(也應該!)在聲明時直接使用值初始化它們。 –
你是這個意思嗎?昏暗regKeyW7作爲RegistryKey = Registry.LocalMachine。OpenSubKey(「SOFTWARE \ Wow6432Node \ TeamViewer \ Version7」,True) – PandaNL
是的。事實上,如果你指定了'Option Strict On'和'Option Infer On'(這是一個好主意!),你可以省略'As ...'部分,使得聲明更簡潔。 –