PDA

View Full Version : استفاده از مرورگر پیشفرض برای باز کردن صفحات وب



NitroPlus
دوشنبه 04 دی 1391, 18:23 عصر
سلام می خواستم بدونم با چه دستوری میشه آدرس وبی رو تو مرورگر پیشفرض سیستم عامل باز کرد

shahryari
دوشنبه 04 دی 1391, 18:59 عصر
احتمالا منظورتون اینه!!
Process.Start("www.yahoo")

NitroPlus
سه شنبه 05 دی 1391, 08:16 صبح
احتمالا منظورتون اینه!!
Process.Start("www.yahoo")
Yes! My Friend!
اتفاقا همینو زدم مرورگر پیشفرض من فایره اما این دستور زدم با IE گور به گوری خراب شده بازش کرد!
برا هم پست زدم و سوال رو پرسیدم راه دیگه ای نیست؟

shahryari
سه شنبه 05 دی 1391, 09:43 صبح
با این تابع میتونید مسیر و نام مرورگر پیش فرض سیستم را بدست بیارید:


Friend Function GetDefaultBrowser() As String
Dim browser As String = [String].Empty
Dim key As Microsoft.Win32.RegistryKey = Nothing
Dim Quote As String = Chr(34)
Try
key = My.Computer.Registry.ClassesRoot.OpenSubKey("HTTP\shell\open\command", False)
browser = key.GetValue(Nothing).ToString().ToLower().Replace (Quote, "")
If Not browser.EndsWith("exe") Then
browser = browser.Substring(0, browser.LastIndexOf(".exe") + 4)
End If
Finally
If key IsNot Nothing Then
key.Close()
End If
End Try
Return browser
End Function


سپس با یک دکمه ادرس مورد نظرتون را در همون مرورگر استارت کنید به شرح زیر


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim p As New Process()
p.StartInfo.FileName = GetDefaultBrowser()
p.StartInfo.Arguments = "Your web address"
p.Start()
End Sub

NitroPlus
سه شنبه 05 دی 1391, 10:13 صبح
key = My.Computer.Registry.ClassesRoot.OpenSubKey("HTTP\ shell\open\command", False)
ارور می ده!

NitroPlus
سه شنبه 05 دی 1391, 10:15 صبح
اررورش اینه:
Object reference not set to an instance of an object.

shahryari
سه شنبه 05 دی 1391, 11:15 صبح
تابعی که در بالا اشاره کردم نام و مسیر مرورگر پیش فرض رو برمیگردونه
حالا:
شما با یک MsgBox این مسیر رو مشاهده کنید ببینید درسته؟؟


MsgBox(GetDefaultBrowser)


جواب در سیستم من اینه:
97201
چون مرورگر پیش فرض من IE هستش
در سیستم شما باید فایر فاکس رو بر گردونه

shahryari
سه شنبه 05 دی 1391, 23:32 عصر
با فاير فاكس هم تست شد 100 % جواب ميده
اگه كدها رو كپي كني ، يك فاصله قبل از كلمه Shell است باتوجه به شكل زير بايد اون فاصله رو برداري هركاري كردم در پست بالا نتونستم اصلا حش كنم بايد در محيط كد نويسي اصلاح كني
97237