[解決済み] 関連アプリケーションでファイルを開く
質問
c#アプリから、関連するアプリでファイルを開く方法を教えてください。 私はこれを試してみました。
ProcessStartInfo pi = new ProcessStartInfo(file);
pi.Arguments = Path.GetFileName(file);
pi.UseShellExecute = true;
pi.WorkingDirectory = Path.GetDirectoryName(file);
pi.FileName = file;
pi.Verb = "OPEN";
Process.Start(pi);
またはこれ
Process.Start(file);
どこの文字列
file
は、いずれも開こうとしているファイルへのフルパスを表しています。さて、すべてがうまくいっているのですが
(jpg) 画像を ACDSee アプリで表示した場合
. Irfanviewの関連付けはうまくいき、MSオフィス文書もうまくいきます。acdsee に関連付けられた jpg 画像を開こうとした後、通知領域で acdsee が実行されるだけで、ファイルは開きません。
私は、レジストリに CLASSES_ROOT において、*.jpg 画像のために、関連するアプリとして ACDSee.JPG 値があり、このキーの下にある シェル->開く->コマンド というパスがあります。
"C:\Program Files\ACD Systems\ACDSee\ACDSee.exe" /dde
そして、私はこの奇妙な
/dde
が原因で、ファイルを開くことができません。私は、同じREGキーで
シェル->開く
があることに気づきました。
DDEExec
という値を持つキー項目があります。
[open("%1")]
Irfanビューや他のチェックされたアプリの場合は、ddeexecはなく、次のような通常のコマンドだけです。
"C:\Program Files (x86)\IrfanView\i_view32.exe" "%1"
は、%1 をファイル名に置き換えてコマンドラインから実行することができます。
が、コマンドラインの acdsee エントリからコマンドを実行できませんでした :(
そこで質問なのですが、どのようにすれば
ProcessStartInfo
オブジェクトを
のすべてのファイルを実行するようにします。
をダブルクリックでエクスプローラで実行されるように、標準とこの
DDEExec
のものですか?のような他の何かはありますか?
DDEExec
のように、私が知っておくべきことはありますか?
ありがとうございます、そして私のENを申し訳ありません
アップデイト
: この質問はまだupvoteされているので、私は受け入れられた答えが動作することを明確にしたい。私はACDSeeの古いバージョンで問題があっただけであって
Process.Start
コマンドでも
jpg
拡張を使用することもできます。
どのように解決するのですか?
ただ書くだけです。
System.Diagnostics.Process.Start(@"file path");
例
System.Diagnostics.Process.Start(@"C:\foo.jpg");
System.Diagnostics.Process.Start(@"C:\foo.doc");
System.Diagnostics.Process.Start(@"C:\foo.dxf");
...
そして、通常のダブルクリックのように、レジストリから読み込んだ関連プログラムをシェルが実行します。
関連
-
[解決済み] このコマンドに関連する開いているDataReaderがすでにあり、最初にそれを閉じる必要があります。
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み】パラメータ付きRedirectToAction
-
[解決済み】プロセスが実行されているかどうかを知るには?
-
[解決済み] Microsoft Officeをインストールせずに、C#でExcel(.XLSおよび.XLSX)ファイルを作成するにはどうすればよいですか?
-
[解決済み] Windowsのコマンドラインからアプリケーションの終了コードを取得するにはどうすればよいですか?
-
[解決済み] アプリケーションやプロセスの実際のメモリ使用量を測定するにはどうすればよいですか?
-
[解決済み】ASP.NET MVCでファイルを表示/ダウンロードに戻す場合
-
[解決済み】テキストファイルのエンコーディング/コードページを検出する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み】ここで「要求URIに一致するHTTPリソースが見つかりませんでした」となるのはなぜですか?
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】2つ(またはそれ以上)のリストを1つに統合する(C# .NETで
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました