問題タブ [file-association]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - XP、Vista、および Windows 7 で機能するファイルの関連付けをプログラムで作成する方法
プログラムからファイル拡張子を登録できるようにしたいです。(ファイルタイプを私のプログラムに関連付けます)
これに関する記事はたくさんありますが、ここで説明した手法 (レジストリをいじる) は、私が知る限り、Windows XP にしか適していません。
XP、Vista、および Windows 7 でも動作するように、ファイルタイプをプログラムに関連付ける最良の方法は何ですか? (動作するコード例はありますか?)
ClickOnce はオプションですが、実行時にファイルタイプを登録できるようにしたいのですが、これはインストール時にのみファイルタイプを登録します。
.net - ClickOnceアプリケーションは、ClickOnceアプリケーションに関連付けられた* .abcを使用してProcess.Start( "x.abc")を介して開始されません
たとえば、関連するファイル拡張子を登録するClickOnceアプリケーションの開発と展開に成功しました*.abc
。名前の付いたファイルをクリックするx.abc
かx.abc
、コマンドプロンプトから入力すると、ClickOnceアプリケーションが起動し、専用のAPIを介してファイルを取得できます。次のコードを使用して、プログラムでアプリケーションを起動することもできます。
私のWindowsVista64ビットボックスではすべて正常に動作します。
ただし、Windows 7(これも64ビット)でまったく同じことを実行しようとすると、非常に奇妙な問題が発生します。これが私が観察するものです:
x.abc
エクスプローラーからダブルクリックして手動で起動することができます。x.abc
コマンドプロンプトからの手動起動が機能します。Process.Start("x.abc")
アプリケーションを起動しません。ただし、返されたプロセスオブジェクトは、エラーがなく、ClickOnceアプリケーションが何らかの理由ですぐに終了したことを示しています。ただしTrace
、ClickOnceアプリケーションの最初の段階でさえ到達することはありません。- まだ見知らぬ人ですが、1行を含む
Process.Start("x.bat")
ファイルでは、ClickOnceアプリケーションも起動しません。同じことがエクスプローラーの作品から始まりました(もちろん)。x.bat
x.abc
x.bat
ProcMon
私の観点からすると、アプリケーションを起動するClickOnceプロセスを追跡するのは非常に難しいため、何が起こっているのかを分析しようとしてもあまり役に立ちませんでした。私は仕事に取り掛かることを観察rundll32
しますが、失敗の証拠はありません。
を実行しているプログラムProcess.Start
は、まったく凝ったものがない完全な信頼コンソールアプリケーションです。
ClickOnceアプリケーションがWindows7でどのように処理されるかに関して何が変わったのかProcess.Start
、また、エクスプローラーからファイルを起動するのとまったく同じように動作しないのはなぜかわかりません。Start
メソッドのより高度なバージョンを使用しProcessStartInfo
、に設定UseShellExecute
しても効果true
がなかったことは言及する価値があります。
最初に起動cmd
してProcess.Start
から起動しようとすると、x.abc
まったく同じ問題が発生します。環境設定をcmd
手動で開始したものと比較すると、ProgramFiles
定義方法に違いがあります(最初の設定はを指しC:\Program Files (x86)
、2番目の設定はを指しC:\Program Files
ます)。.NETアプリケーションから開始されたアプリケーションは、32ビットエミュレーションレイヤー(SysWoW64)で開始されます。
x.abc
32ビットバージョンのコマンドプロンプト(つまり、%windir%\SysWoW64\cmd.exe
)を起動し、プロンプトで入力することで、の起動の失敗を再現することができましx.abc
た。%windir%\Sysnative\cmd.exe /C x.abc
また、醜い回避策を見つけました。これは、の代わりにを起動して、32ビット環境から64ビットのコマンドプロンプトを開始することですx.abc
。
しかし、私はむしろそれを行うためのクリーンな方法を使用したいと思います(または、Microsoftの担当者に、これは確かにWindows 7やClickOncceの問題であり、まもなく修正されると教えてもらいます)。
c# - ファイルの種類とアイコンを関連付ける
わかりました。全体を見渡して、カスタムファイルタイプをC#アプリケーションに関連付ける方法を理解するのに苦労しています。Visual Studio 2008を使用していますが、会社の展開により.NET2.0に制限されています。
基本的に、私が本当にやりたいのは、ユーザーがカスタムファイルタイプをダブルクリックするか、アプリアイコンにドラッグアンドドロップしてデータをロードできるようにすることと、ファイル自体にカスタムアイコンを表示できるようにすることだけです。ダイアログボックスからファイルを開くことができ、すべてがうまく機能します。
Micosoftのオンラインドキュメントを読み込もうとすると、理解するのが難しく、必要なすべての詳細がわかりません。誰かが私が良いチュートリアルを見つけることができるか、それを説明することができる場所を知っているなら、私はそれをいただければ幸いです。
ありがとうパトリック
python - WindowsでPythonスクリプトを実行する方法は?
簡単なスクリプトblah.py(Python 2を使用)があります:
スクリプトを実行する場合:
引数を出力しますが、スクリプトを実行する場合:
エラーが発生します:
IndexError..。
したがって、引数はスクリプトに渡されません。
PATHのpython.exe。PATHにもblah.pyが含まれるフォルダー。
python.exeは、*。pyファイルを実行するためのデフォルトのプログラムです。
何が問題ですか?
visual-studio-2008 - VisualStudioがメモ帳で.xmlファイルを開く
そのため、今朝はカスタム.xml構成ファイルを多用するプロジェクトに取り組んでいます。
突然、ソリューションエクスプローラーで.xmlファイルをダブルクリックすると、VisualStudio内ではなくメモ帳で開きます。
Windowsのファイルの関連付けだと思って、エクスプローラーでファイルを右クリックし、[プログラムから開く] >> [デフォルトの選択]を選択して、[VisualStudio2008]を選択しました。
ただし、問題は残ります。エクスプローラーからファイルを開くと、Visual Studioが開き、メモ帳が開きます。
言うまでもなく、これは非常に苛立たしいことであり、Googleはあまり役に立ちません。他の誰かがこの問題を抱えたことはありますか、そしてあなたはそれについて何をしましたか?
ノート:
- これは、.xmlファイルでのみ発生します。他のテキストファイル(.config、.txt)は、VisualStudio内で問題なく開きます。
- これは、WindowsがVS2008を開くのと同じように開くため、Windowsのファイルの関連付けとは何の関係もありません。これは、VisualStudioの内部にあるいくつかのクレイジーな問題です。
- [ツール]>>[オプション]>>[一般]>>[ファイルの関連付けの復元]も試しました。運がない。
- ツール>>オプション>>テキストエディタ>>ファイル拡張子には何もありません
- これは、.xmlファイルの[プログラムから開く]メニューのように見えます。ご覧のとおり、「XMLエディター」がデフォルトに設定されています。
ubuntu - Ubuntu でファイルの関連付けを登録するにはどうすればよいですか
Ubuntu インストーラーを作成中です。独自のファイル拡張子を登録する必要があります。これを行う方法の例が見つかりません。
これを行う方法について、いくつかのスクリプト スニペットを提供してもらえますか?
注:私はInstallJammerを使用してインストーラーを作成しています。これにより、外部スクリプトを呼び出すことができます。そのため、スクリプトが有益です。
java - Javaアプリケーションでのファイルの関連付けの利用
OSに登録されているファイルの関連付けを利用したいクロスプラットフォームのSwingベースのアプリケーションを作成中です。
これで、ファイルをクリックしてアプリが読み込まれるようになりましたが、知っておく必要があるのは、アプリケーションを起動したファイルがどこにあるかをアプリケーションに認識させ、コンテンツをクエリする方法です。
ファイルの関連付けの登録に関して、さらに何か関係がありますか?または、Javaは私のためにこれを行うことができますか?
vb.net - プログラムの起動に使用される関連ファイルへのパスを取得するにはどうすればよいですか?
関連付けられたファイルタイプのプログラムがあります。ただし、ファイルをダブルクリックしてプログラムを起動すると、そのパスがプログラムに渡された場所がわかりません。
当初、ファイルパスはEnvironment.CommandLineにあると思いましたが、コマンドラインにはプログラムパスしか含まれていませんでした。
Visual Studioの公開オプションを使用してファイルの関連付けを次のように指定しました:拡張子:.ext、説明:いくつかのファイル、ProgId:ProjectName、アイコン:SomeIcon.ico。
linux - xdgutils を使用して Ubuntu でファイル関連付けアイコンを作成する
xdgユーティリティを使用して、イメージをファイルの関連付けに関連付けようとしています。
このコマンドと、48、64、および 128 サイズの同等のコマンドを実行しましたが、いずれも効果がないようです。
xdg-icon-resource install --context mimetypes --size 256 image-256.png text-abc
何か案は?
これは信じられないほど不自由ですが、これを一度機能させることができました。上記のコマンドを実行し、仮想マシンのネットワークブリッジをワイヤレスから有線に変更しました。これはどういうわけか、ubuntu テーマの変更に影響を与えました。 (ウィンドウのヘッダーが通常のオレンジ色から青色に変わりました)、デスクトップにあったすべての「abc」ファイルには、指定した画像が含まれていました。