2016-03-24 11 views
1

私はアプリケーションが動作している現在のフォルダの中にあるすべてのファイルを読み込むために、vb.netの小さなアプリケーションを作成しました。このアプリケーションをカスタマイズして、ユーザーが任意のフォルダを右クリックすると、そのアプリケーション名がそのメニューに表示されるようにします。ユーザーがこのオプションをクリックすると、対応するフォルダ内にあるすべてのファイルが一覧表示されます。vb.netで選択したフォルダのパスを取得するには?

私はこれを部分的に達成しました。すべてのフォルダの右クリックメニュー項目に自分のアプリケーションを追加しました。しかし、アプリケーション名をクリックすると、親ディレクトリにあるすべてのファイルが一覧表示されます。選択したフォルダのパスを受け取るようにコーディングをカスタマイズしたいと思います。それで、どうやってやるの? MSDN上の全体のチュートリアルあります

+0

あなたのアクチュアリティコードが表示されていないと、あなたを助けるのが難しいです。それに応じて質問を編集してください。 –

+0

[VB.NETは自分のプログラムで開いたファイルのディレクトリを取得する](http://stackoverflow.com/questions/34540593/vb-net-get-directory-of-a-file-opened-in-my -program) –

答えて

3

Verbs and File Associations

は、例えば、オープン動詞は、通常、ファイルを開くためのプログラムを起動します。次のようにコマンド文字列は、一般的になります。 "My Program.exe" "%1"

あなたは以下のコードでパラメータを取得することができます:Windows Formsについては

Public Sub Main(ByVal cmdArgs() As String) 
    If cmdArgs.Length > 0 Then 
     'Process the command. 
     'cmdArgs(0) is program name 
     'cmdArgs(1) is the path of your folder/file. 
    End If 
End Sub 

this .You'llは以下のような機能を必要とする参照してください。

Public Sub Main(ByVal cmdArgs() As String) 
    'Process cmdArgs here (same as above) 
    Application.EnableVisualStyles() 
    Application.SetCompatibleTextRenderingDefault(False) 
    Application.Run(New Form1) 
End Sub 
+0

コンソールアプリケーションで動作します。しかし、どのようにWindowsアプリケーションでそれを行うには? – Sai

+0

あなたが指定した上記のテクニックを試しました。しかし、私のMain()関数は全く呼び出されませんでした。私は引数を受け取るためにオーバーロードされたコンストラクタを提供しています。しかし、それもうまくいきませんでした。 – Sai

+0

パラメータのないコンストラクタを削除します。 – J3soon

関連する問題