問題タブ [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.

0 投票する
1 に答える
1093 参照

delphi - 特定のファイル拡張子を私の Delphi アプリに関連付けます - このためのライブラリはありますか?

これまで、ファイル拡張子をアプリケーションに関連付ける必要がある場合は、レジストリを変更するだけでした。しかし、私は何年もやっていないので、状況が少し変わったのではないかと心配しています. Windows 7 / Vista でレジストリ アクセス制限を回避する方法がわかりません (HKEY_CLASSES_ROOT に制限がある場合)。したがって、私はいくつかの Delphi ライブラリ、ユニット、コード スニペット、または XP、Vista、および 7 で確実に動作するものを探しています。「バックアップ」も処理するものはありますか? バックアップとは、変更を以前の関連付けに戻す可能性を意味します...

0 投票する
4 に答える
25376 参照

windows - Lispファイルを簡単に「実行」するにはどうすればよいですか

パイソン

私が Python を学んだとき、Windows に素敵な GUI インストーラーで Python をインストールしました。すべての .py ファイルは、コマンド ラインまたはエクスプローラーから Python で自動的に実行されます。

すぐにプレーン テキスト ファイルを作成して実行できるため、これは非常に直感的で簡単であることがわかりました。

舌足らずの発音

私は Lisp を学び始めており、(レビューから) SBCL は悪い Lisp 実装ではないと判断しました。

Python と同じくらい簡単に .lisp ファイルを実行するように SBCL をセットアップする方法はありますか?

これを持つ他の Lisp 実装はありますか?

0 投票する
1 に答える
482 参照

clickonce - ClickOnce アプリケーション更新で FileAssociation に関する例外がスローされる

System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。

System.Deployment.Application.ShellExposure.RemoveFileAssociationCLSIDInfo (FileAssociation fileAssociation、DefinitionIdentity subId、RegistryKey classesKey、文字列 clsIdString、文字列 productName) で

System.Deployment.Application.ShellExposure.RemoveFileAssociation (FileAssociation fileAssociation、DefinitionIdentity サブ ID、文字列 productName) で

System.Deployment.Application.ShellExposure.RemoveShellExtensions (DefinitionIdentity subId、AssemblyManifest appManifest、文字列 productName) で

System.Deployment.Application.ShellExposure.UpdateShellExtensions (SubscriptionState サブステート、ShellExposureInformation & shellExposureInformation) で

System.Deployment.Application.ShellExposure.UpdateSubscriptionShellExposure (SubscriptionState サブステート) で

System.Deployment.Application.SubscriptionStore.CommitApplication で (SubscriptionState& subState、CommitApplicationParams commitParams)

System.Deployment.Application.DeploymentManager.SynchronizeCore (ブール値のブロック) で

System.Deployment.Application.DeploymentManager.Synchronize() で

System.Deployment.Application.ApplicationDeployment.Update() で

Detechtion.Simulator.WPFApp.WindowMain.CheckUpdatesCommandExecuted (オブジェクトの送信者、ExecutedRoutedEventArgs e) で

0 投票する
1 に答える
8160 参照

registry - Windowsレジストリにファイルの関連付けを適切に追加するにはどうすればよいですか?

ファイルの関連付けを適切に作成するには、どのデータと場所をWindowsレジストリに追加する必要がありますか?

この質問をするのは、主に、Visual Studio .NETのWindowsインストーラーパッケージャーを使用してファイルの関連付けを作成した、数年前に作成した古いアプリケーションが原因です。私がインストール.whrした拡張機能はとでし.encxmlた。

現在、これらのアプリケーションがインストールされているコンピューターでは、奇妙な問題が発生することがあります。ファイルがGoogleChromeまたはInternetExplorer(特にexe、msi、またはzipファイル)にダウンロードされると、ブラウザーはファイル拡張子を1に変更します。私のインストーラーによってインストールされた拡張機能の。それが他のブラウザに影響を与えるかどうかはわかりません-これら2つに共通点はありますか?したがって、たとえばhttp://example.com/downloads/application.exeをダウンロードすると、ファイルはhttp://example.com.downloads/application.encxml(または.whrのいずれか)としてダウンロードされます。明白な理由は何もありません。

とのキーに注意する必要がありHKCR\.whrますHCKR\.encxmlキー参照(アカウントマネージャーの暗号化されたXMLファイルと作業時間レコード)にはスペースがあり、Visual Studioで関連付けを作成したときに、「。」を追加しませんでした。フロントへ。おそらくスペースは許可されていません、そして/またはあなたは「。」で始まることになっていますか?レジストリコードは問題ないようですが、レジストリを調べてみると、他のすべてのアプリケーションがアソシエーションクラスのスペースを使用しておらず、この問題は、私が知っているマシンにインストールされているアプリケーションの他のファイル拡張子でも発生しないことがわかりました。私のアプリケーションのVSインストーラーによって作成されたもの。ファイル拡張子に関連する対応するレジストリキーと値のレジストリダンプを貼り付けました。MSIは独自仕様であるため、これがすべてかどうかはわかりませんが、他のアプリケーションからわかっていることから、これがすべてであるはずです。私' 何年もの間、この問題について常に疑問に思っていましたが、それを理解することはできませんでした。これらの古いアプリケーションの1つをすぐに新しい製品に置き換えるので、今回はこのような奇妙なバグがないことを確認したいと思います...

データは次のとおりです(値の下に//コメントを付けていくつかのバイナリ文字列のテキスト値を示したことに注意してください):




0 投票する
1 に答える
1747 参照

vb.net - VB.NET でファイルの関連付けを作成しますか?

ファイルの種類を自分のアプリケーションに関連付けるにはどうすればよいでしょうか? コマンド ライン引数の読み方は知っていますが、ファイル拡張子を Windows に「登録」する方法がわかりません。さらに、私のアプリケーションはスタンドアロンの実行可能ファイルなので、プログラムの場所で Windows を最新の状態に保つにはどうすればよいでしょうか?

かなりの量の検索を行いましたが、すべてを説明していない古い記事しか見つかりませんでした。VB.NET でスタンドアロンの実行可能ファイルへのファイルの関連付けを作成するにはどうすればよいですか?

0 投票する
2 に答える
5490 参照

c++ - Getting File Associations using Windows API

I'm working on a console based file browser for Windows in C++ and am having difficulties getting together a context menu that lists actions associated with a file and calls commands on them. The biggest issue right now is getting the actions tied to the file types.

I know of the process to open and tweak the registry keys in HKEY_CLASSES_ROOT but I can't find a way to actually get the actions and their commands so I can build a context menu out of it.

The general structure of these associations in the registry is:

HKEY_CLASSES_ROOT\(extension)\(default) - filetype
HKEY_CLASSES_ROOT\filetype\(default) - description of the filetype
HKEY_CLASSES_ROOT\filetype\shell\action\(default) - description of the action
HKEY_CLASSES_ROOT\filetype\shell\action\command\(default) - command called on file

I'm wondering if there is a way (hopefully using the Windows API) that I can get all of the actions associated with a file type. At least then I can check those actions for their commands in the registry...

Also, this approach doesn't seem to work with some common file types (e.g. mp3) on my system as the default key is left blank and another key ("PercievedType") is set to audio... How can I get the actions for something like this?

Lastly, if there is a better way to do this in general I would love to hear it, I generally hate dealing with the registry. I would much rather have a simple windows call that would get me the actions and commands...

0 投票する
4 に答える
16126 参照

windows-7 - Windows 7 ファイル拡張子の関連付け

特にWindows 7について言及しています。

次のページで webJose によって提案されているように、特定の拡張子をアプリケーションに関連付けるコードがあります: ファイル拡張子の関連付けを担当するレジストリ キーは何ですか? (ただし、提案されているように、HKEY_CLASSES_ROOT の代わりに HKEY_CURRENT_USER\Software\Classes に正しく書き込みます)

上記は最初に機能するか、拡張機能に関連付けられている他のプログラムがない場合に機能します。ただし、Windows 7 に組み込まれている [既定のプログラムを選択...] (ファイルを右クリックして表示されるコンテキスト メニューの [開く] の下にあります) を使用すると、選択した新しいプログラムに拡張機能が再度関連付けられます。

この時点で何が起こるかというと、「HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\\UserChoice」がシステムによって変更されるため、新しく選択されたプログラムが引き継がれます。

上記のコードを実行して拡張機能の制御を取り戻すことはできません。制御を取り戻す唯一の方法は、次のいずれかです。

  1. UserChoice -> Progid 値の編集。これは許可されていません (プログラムでも regedit.exe を使用しても - アクセスが拒否されました)。
  2. または、UserChoice 値を削除し、アプリケーションが \OpenWithList の下の MRUList 値の最初にあることを確認します (これは regedit.exe を使用して実現できますが、プログラムでは実現できません)。

私の質問は: プログラムでこれを達成する方法はありますか? 別のプログラムに関連付けられた後、拡張機能の制御を取り戻すために変更できるレジストリ値はどれですか?

ユーザーがエクスプローラーを介して関連付けられたアプリケーションを拡張機能に設定した場合、拡張機能を別のアプリケーションに再度関連付けるために同じ方法を再度実行することが期待されることは明らかです。

ただし、問題は、上記のコードを使用してアプリケーションとの拡張機能の関連付けを確認するボタンがアプリケーションにあることです。残念ながら、上記の状況では、私のアプリケーションは、拡張機能が既に正常に関連付けられていることを確認するメッセージを表示します。これを回避する方法はありますか?

0 投票する
2 に答える
2617 参照

wpf - WPF; 一度クリックします。ファイルをダブルクリックして起動します。VS 2008

私のアプリケーションは私と同僚専用なので、Click-Once か copy-the-exe かは気にしません。Windows エクスプローラーで特定の拡張子のファイルをクリックし、プログラムを起動してそのファイルを開くことができるようにしたいと考えています。ファイル名を取得できません。

表向きの解決策:

http://blogs.msdn.com/b/avip/archive/2008/10/27/wpf-supporting-command-line-arguments-and-file-extensions.aspx

私が試しているコードは以下のとおりです。この時点で私がしようとしているのは、クリックしたファイルの名前をテキスト ボックスに入力することだけです。関連する無知は、Windowsエクスプローラーからクリックワンスアプリケーションを参照する方法についてだと思います。ビルドすると、setup.exe というファイル、Wis.application というファイルが作成されます。[セットアップ] をクリックしてインストールすると、"Click-once application reference" タイプのショートカットが作成されます。 C:\Users\ptom\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Wis". インストールによって作成されたそのショートカットにファイルを関連付け、setup.exe にファイルを関連付けてみました。ファイルをクリックすると、アプリケーションが起動しますが、AppDomain.CurrentDomain.SetupInformation.ActivationArguments が null であることが示されます。(「示す」によって つまり、テキスト ボックスには、null かどうかをテストした場所からのテキストが入力されます)。アプリをデバッグから実行するか、スタート メニューから実行すると、ActivationArguments が null ではなく、その ActivationData (string[]) が長さであることを示すコード パスに従って、期待どおりに動作します。 0.

app.xaml.cs のコードは次のとおりです。

ありがとう

0 投票する
4 に答える
4968 参照

delphi - 昇格を必要とせずにプログラムでファイルの関連付けを変更する方法

ユーザーが管理者/昇格された権限を持っていない場合にプログラムでファイルの関連付けを変更する方法(Win XP、Vista、7)? これを回避する方法についてのアイデアはありますか? 基本的に、アプリケーションを現在のように軽量に保ちたいと考えています (インストールと実行に権限の昇格は必要ありません)。現時点では、ユーザーがファイルの関連付けを変更できる GUI インターフェイスを提供していますが、ユーザーの権限が制限されている場合は、それができないというメッセージを表示し、「このプログラムを実行する」を有効にする方法を説明するだけです。管理者として」ボックスを開き、プログラムを再起動します。ユーザーに権限がある場合は、関連付けを変更するだけです。

それを行い、「ライト」を維持するためのより良い方法はありますか?

0 投票する
2 に答える
12442 参照

c# - C# - レジストリ キー 'HKEY_CLASSES_ROOT\' へのファイル関連付けアクセスが拒否されました

私は現在、レジストリを使用してファイルの関連付けを設定するプログラムを持っています (これは .NET 2.0 であるため、レジストリ メソッドを実行する必要があります)。問題は、HKCR に書き込もうとしているため、(他のマシンで) 管理上の問題が発生する可能性があることです。HKCUまたは管理者権限を必要としない他の方法を使用するなど、ファイルの関連付けを設定するより普遍的な方法(.NET 2.0の場合)はありますか?