2

わかりました、私は本当にこれについて頭を悩ませており、デバッグ方法など、さまざまなことについていくつかの質問を試みましたが、これまでのところあまりうまくいきませんでした. 基本的に、私のアプリケーションが起動し、ユーザーがいくつかのことを行います。ある時点で、ユーザーは設定を出力ファイルに拡張子 .abc (未加工のテキスト形式) で保存できます。この拡張子が登録され、アプリケーションで編集できるようになります。したがって、ユーザーがファイルをダブルクリックすると、アプリケーションがメイン フォーム ビューに表示されます。それはすべてうまく機能し、ダンディです。.abc ファイルをメモ帳で表示すると、保存したすべての設定が表示されます。私の質問は、プログラムから実行するように選択するだけでなく、アプリケーションに数行のテキストを読み取らせ、プログラムがファイルから入力されたことを知るにはどうすればよいですか? 例えば、

firstname=john
lastname=hancock
address=1234 somewhere road, atlanta, GA  12345

ユーザーがファイルをダブルクリックしてプログラムを起動すると、フォームに起動パラメーターがあることを認識させ、フォームに適切なものを入力したいと思います。したがって、フォームには「Hello john hancock,welcome back」またはその性質の何かが表示される可能性があります。これは可能性がありますか?このように、アプリケーションで [ファイル] -> [開く] を選択してテキスト ファイルを読み取るように強制することもできますが、推奨される方法は、一度にすべてを実行することです。

ありがとう!

4

3 に答える 3

2

拡張機能の 1 つがクリックされたときにプログラムを実行するには、Windows レジストリを使用します。セットアップ プロジェクトを作成すると、拡張機能 (アイコンとプログラム) の登録が自動的に行われます。こちらこちらをご覧ください。

の答えのよう@Sam I amに、プログラムの実行時に、ファイルの処理方法を指定する引数を受け取ります。

于 2012-07-24T19:57:56.723 に答える
2

プログラムを起動すると、起動に使用したファイルのファイル名が

args[0]

あなたのメインメソッドで。

できることは、それを確認してから、選択したファイル解析方法を使用して、args.Length > 0名前が何であれファイルをロードすることです。args[0]

于 2012-07-24T19:56:23.457 に答える
1

ユーレカ!少なくとも私の環境では、最終的に(a)の答えを見つけました。私は Visual Studio 2010 Express Edition を使用しており、ファイルを拡張子に関連付けて、ダブルクリックするとアプリケーションが起動するようにしています。そのファイルへのパスを取得するために、引数としてではなく、appdomain プロパティに格納されます。このコマンドを実行すると:

String test = AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData[0];

変数 test は次のようになります。

"c:\dir/dir2/dir3/test.abc"

そこから、ファイルを読み取ってコンテンツを取得したり、その他の処理を実行したりできます。

Desolator には特に感謝しています。彼の意見に基づいて、適切なキーワードでインターネットを検索し、最終的に答えを見つけることができました!

ハッピーコーディング!

于 2012-07-25T02:10:15.937 に答える