リンクラベルからWebページに飛びたい

タグの編集
投稿者 エピ  (社会人) 投稿日時 2023/10/23 10:47:33
VB2022を使用しています。

VB2017ではPross.Start("***********")でWebページに飛ぶことができたのですが
VB2022では指定されたファイルが見つかりませんとなってしまいます。

ご存じの方、ご教授願えませんでしょうか
よろしくお願いします。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2023/10/23 12:02:53
> Pross.Start("***********")でWebページに飛ぶことができた
Pross.Start ではなく
Process.Start ではないでしょうか。
 
> 指定されたファイルが見つかりませんとなってしまいます。
ということは、指定したパラメーターが間違っているか、
もしくは実行環境の関連付け設定の問題と考えられます。

"***********" に渡している具体的な文字列が何であるのか、再度確認してみてください。
前後に余計な空白や改行が含まれていないか、そいて同じ文字列を
[Win]+[R] の「ファイル名を指定して実行」で呼び出せるのか、など。

'LinkClicked イベント 
Dim target As String = TryCast(e.Link.LinkData, String)
textBox1.Text = $"[{target}]"  '前後に空白が無いか確認するため、[~]を補う 
textBox2.Text = e.Link.Name
textBox3.Text = e.Link.Description
投稿者 KOZ  (社会人) 投稿日時 2023/10/23 12:17:42
.NET Framework と .NET Core 以降で UseShellExecute プロパティのデフォルト値が true から false に変わっています。
面倒ですが、ProcessStartInfo クラスを指定して起動してください。
投稿者 エピ  (社会人) 投稿日時 2023/10/23 13:27:26
魔界の仮面弁士さん KOZさん ありがとうございます。

Imports System.Diagnostics.ProcessStartInfo
Private Sub ****_LinkLabel_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles Meidiya_LinkLabel.LinkClicked
    Dim PRC = New Process
    PRC.StartInfo.UseShellExecute = True
    PRC.StartInfo.FileName = "https://www.yahoo.co.jp"
    PRC.Start()
End Sub

これでWebページに飛ぶことができました。