PDA

View Full Version : سوال: شناسایی مرورگرهای اینترنت نصب شده روی سیستم



saeidmobashery
دوشنبه 23 بهمن 1402, 16:05 عصر
سلام بر اساتید عزیز

من از کد زیر برای باز کردن لینک‌ها در مرورگرهای مختلف استفاده می‌کنم :
System.Diagnostics.Process.Start(Browser_TextBox.T ext, Link)

و در یک تکست باکس اسم فایل اجرایی مرورگر را قرار می‌دهم

می‌خواهم تکست باکس را حذف کنم و کمبوباکس قرار دهم و با اعمل « کدی » کمبوباکس از نام مرورگرهایی که روی سیستم نصب است پر شود

از چه کدی باید استفاده کنم ؟

پرستو پارسایی
دوشنبه 23 بهمن 1402, 18:44 عصر
Imports Microsoft.Win32


Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim browsersKeyPath As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"
Dim browsersKey As RegistryKey = Registry.LocalMachine.OpenSubKey(browsersKeyPath)


If browsersKey IsNot Nothing Then
Dim browserNames As String() = browsersKey.GetSubKeyNames()
For Each browserName As String In browserNames
Dim browserKey As RegistryKey = browsersKey.OpenSubKey(browserName)
Dim browserPath As String = browserKey.GetValue("Path").ToString()
Dim browserExecutable As String = browserKey.GetValue("").ToString()
Dim browserFullName As String = System.IO.Path.Combine(browserPath, browserExecutable)


' بررسی معتبر بودن فایل اجرایی مرورگر
If System.IO.File.Exists(browserFullName) Then
BrowsersComboBox.Items.Add(browserName)
End If
Next
End If
End Sub
End Class



ابتدا شما رجیستری مربوط به مرورگرها را باز می‌کنید و نام‌های زیرکلیدها را دریافت کنید. سپس برای هر نام زیرکلید، مسیر و نام فایل اجرایی مرورگر را دریافت و بررسی می‌کنید. اگر فایل اجرایی معتبر بود، نام مرورگر را به ComboBox اضافه می‌کنید.
در نهایت، شما می‌تونید با استفاده از رویدادهای ComboBox مرورگر را انتخاب کرده و فرآیند باز کردن لینک را انجام دهید.

ROSTAM2
دوشنبه 23 بهمن 1402, 21:28 عصر
این ویدئو رو ببینید:
در این ویدیو مرورگر ها با آیکونشون به یک ComboBox اضافه شدن:

آموزش اضافه کردن آیتم با تصویر به ComboBox (https://www.aparat.com/v/fwBS5)

saeidmobashery
دوشنبه 23 بهمن 1402, 23:33 عصر
Imports Microsoft.Win32


Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim browsersKeyPath As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"
Dim browsersKey As RegistryKey = Registry.LocalMachine.OpenSubKey(browsersKeyPath)


If browsersKey IsNot Nothing Then
Dim browserNames As String() = browsersKey.GetSubKeyNames()
For Each browserName As String In browserNames
Dim browserKey As RegistryKey = browsersKey.OpenSubKey(browserName)
Dim browserPath As String = browserKey.GetValue("Path").ToString()
Dim browserExecutable As String = browserKey.GetValue("").ToString()
Dim browserFullName As String = System.IO.Path.Combine(browserPath, browserExecutable)


' بررسی معتبر بودن فایل اجرایی مرورگر
If System.IO.File.Exists(browserFullName) Then
BrowsersComboBox.Items.Add(browserName)
End If
Next
End If
End Sub
End Class



ابتدا شما رجیستری مربوط به مرورگرها را باز می‌کنید و نام‌های زیرکلیدها را دریافت کنید. سپس برای هر نام زیرکلید، مسیر و نام فایل اجرایی مرورگر را دریافت و بررسی می‌کنید. اگر فایل اجرایی معتبر بود، نام مرورگر را به ComboBox اضافه می‌کنید.
در نهایت، شما می‌تونید با استفاده از رویدادهای ComboBox مرورگر را انتخاب کرده و فرآیند باز کردن لینک را انجام دهید.


استاد عزیز ، کد خطای زیر را داد :

155358

saeidmobashery
سه شنبه 24 بهمن 1402, 01:33 صبح
سپاس از راهنمایی دوستان عزیزم و فیلم مفیدی که رستم عزیز اشاره داشتند

کد زیر جواب داد :



Private Sub ExportBrowsers()
Browsers_ComboBox.Items.Clear()
Dim Path As String
Dim File() As String
Dim FileName As String
With My.Computer.Registry.LocalMachine.OpenSubKey("software\clients\startmenuinternet")
Dim Names() As String = .GetSubKeyNames
For Each Item As String In Names
With .OpenSubKey(Item)
With .OpenSubKey("shell\open\command")
Path = .GetValue("", "")
End With
End With
File = Path.Split("\")
FileName = File(File.Count - 1).Replace("""", "")
Browsers_ComboBox.Items.Add(FileName)
Next
End With
Browsers_ComboBox.SelectedIndex = 0
End Sub