web-dev-qa-db-ja.com

デフォルトのブラウザでのVisual Basic Open URL

編集

VB 6

編集の終了

ちょっとこれは簡単な修正のようで、特にVisual Basic言語は好きではないようですが、コードを使用して既定のWebブラウザーでURLを開くにはどうすればよいですか。

編集
なぜこのエラーが発生し続けるのですか?

PInvoke関数 'CrackleMail!WindowsApplication1.FormFinal :: ShellExecute'の呼び出しにより、スタックのバランスが崩れました。これは、マネージドPInvokeシグネチャがアンマネージドターゲットシグネチャと一致しないためと考えられます。 PInvokeシグネチャの呼び出し規約とパラメーターがターゲットのアンマネージシグネチャと一致することを確認します。

13
NoodleOfDeath

VB.NET:

System.Diagnostics.Process.Start("http://example.com")

VB 6(わからない):

Declare Function ShellExecuteA Lib "Shell32.dll" ( _
    ByVal hWnd As IntPtr, _
    ByVal lpOperation As String, _
    ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Integer) As IntPtr

ShellExecuteA(Me.Handle, "open", "http://example.com", "", "", 4)
11
abatishchev

受け入れられた回答のコードでコンパイルエラーが発生しました。MSDNから以下のコードを取得しました ShellExecuteを使用してデフォルトのWebブラウザを起動します

Private Declare Function ShellExecute _
                            Lib "Shell32.dll" _
                            Alias "ShellExecuteA"( _
                            ByVal hwnd As Long, _
                            ByVal lpOperation As String, _
                            ByVal lpFile As String, _
                            ByVal lpParameters As String, _
                            ByVal lpDirectory As String, _
                            ByVal nShowCmd As Long) _
                            As Long

Private Sub Command1_Click()
   Dim r As Long
   r = ShellExecute(0, "open", "http://www.Microsoft.com", 0, 0, 1)
End Sub
12
kjack

簡単です! Wscript createobjectメソッドを使用するだけ

CreateObject("Wscript.Shell").Run "www.example.com"
3
user5576820
Option Explicit

'Link the kernel method that allows a process to be open/spawn

Private Declare Function ShellExecute _
                            Lib "Shell32.dll" _
                            Alias "ShellExecuteA" ( _
                            ByVal hwnd As Long, _
                            ByVal lpOperation As String, _
                            ByVal lpFile As String, _
                            ByVal lpParameters As String, _
                            ByVal lpDirectory As String, _
                            ByVal nShowCmd As Long) _
                            As Long

Private Sub mnuAbrirNavegador_Click(Index As Integer)
    OpenUrl("http://www.Microsoft.com")
End Sub

Private Sub OpenUrl(ByVal url As String)
    r = ShellExecute(0, "open", url, 0, 0, 1)
End Sub