DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ファイルのドラックしてオープン

環境/言語:[XP/VB.NET/Framework1.1(SP1)]
分類:[.NET]

VB.NETで作成したEXEにテキストファイルをドラックしたらそのEXEで開きたい
たとえば、メモ帳にテキストファイルをドラックしたら
メモ帳で開きますよね、それと同様なことがことがしたいのですが
どなたか教えてください。
実行ファイルのアイコンにドロップした場合、ですね? 起動中のフォームにドロップするんではなく。
ファイルが実行ファイルのアイコンにドロップされると、自動的にその実行ファイルが起動し、その引数にドロップしたファイルのパスが渡されます。
普通 Main 関数に引数として渡されますが、VB では Main を明示しないことも多いので、Environment.GetCommandLineArgs メソッドなどを使って取得します。
> 実行ファイルのアイコンにドロップした場合、ですね? 起動中のフォームにドロップするんではなく。
その通りです

> ファイルが実行ファイルのアイコンにドロップされると、自動的にその実行ファイルが起動し、その引数にドロップしたファイルのパスが渡されます。
> 普通 Main 関数に引数として渡されますが、VB では Main を明示しないことも多いので、Environment.GetCommandLineArgs メソッドなどを使って取得します。

とりあえず、以下のようにMain()関数をスタートアップ設定にして試してみました
Sub Main()
Dim s = Environment.GetCommandLineArgs
MsgBox(s(0).ToString)
End Sub
ファイル(TEST.TXT)をEXEにドラックしてみたら、パスが表示されました。
スタートアップ設定がForm1でLoad時でもうまくいきました。
Private Sub Form1_Load(...) Handles MyBase.Load
Dim s = Environment.GetCommandLineArgs
MsgBox(s(0).ToString)
End Sub
うまくいきました!ありがとうございます。
解決済み!
> 普通 Main 関数に引数として渡されますが、VB では Main を明示しないことも多いので、Environment.GetCommandLineArgs メソッドなどを使って取得します。

Main()関数に引数をつけてもうまくいきました。
Sub Main(ByVal arg() As String)
MsgBox("Main Arg=" & arg(0))
End Sub
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板