バックアップ オプションを追加したい素敵な小さな割り当てオーガナイザーがあります。しかし、ファイルが破損する可能性があるため、通常のxmlファイルやその他のファイルには入れたくありません。では、プログラムが認識し、.asog ファイル拡張子で保存して開くことができるファイル拡張子を作成するにはどうすればよいでしょうか?
3 に答える
これを試してください:
Vistaは、アプリケーションに関連付けられているドキュメントのアイコンをどのように生成しますか?
受け入れられた答えは、アイコンとファイルの関連付けを説明しています。
アプリがWPFを使用するかどうかは関係ありません。ファイルの関連付けは、アプリが使用するGUIフレームワークを気にしません。
拡張子 (.magi) を持つファイルを WPF アプリケーションに関連付ける場合は、InnoSetupを使用することをお勧めします。
たとえば、MAGI という WPF アプリケーションを開発しました。アイコンを「.magi」ファイルに関連付けます。ユーザーが「 .magi」ファイルをクリックすると、アプリケーションが起動し、アプリケーションで直接開きます。
InnoSetup を使用してレジストリを簡単に変更する
この指示を iss ファイルに追加するだけです。
[Setup]
ChangesAssociations=yes
[Registry]
Root: HKCR; Subkey: ".magi"; ValueType: string; ValueName: ""; ValueData: "MyMAGIApplication"; Flags: uninsdeletevalue
Root: HKCR; Subkey: "MyMAGIApplication"; ValueType: string; ValueName: ""; ValueData: "Program MAGI"; Flags: uninsdeletekey
Root: HKCR; Subkey: "MyMAGIApplication\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MAGI.EXE,0"
Root: HKCR; Subkey: "MyMAGIApplication\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\MAGI.EXE"" ""%1"""
「Startup」メソッドで引数を解析します
Startup
便利なメイン メソッドのようにパーサーを呼び出すために、メイン Xaml でプロパティを使用します。
<Application x:Class="MAGI.View.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Startup="AppStartupMainMagi" >
</Application>
コード ビハインドでは、このメソッドを追加します。
/// <summary>
/// Call with Startup property in App.xaml
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void AppStartupMainMAGI(object sender, StartupEventArgs e)
{
String[] arguments = Environment.GetCommandLineArgs();
if (arguments.GetLength(0) > 1)
{
if (arguments[1].EndsWith(".magi"))
{
string filePathFormMainArgs = arguments[1];
if(isFileMagiValid(filePathFormMainArgs))
{
// Step 1 : deserialize filePathFormMainArgs
// Step 2 : call the view "File oepn" in the application"
}
}
}
else {
// Call the view "welcome page application"
}
}
セットアップ プロジェクトまたは ClickOnce インストールのいずれかで、ファイル拡張子を追加できます。セットアップが完了したら、ユーザーは .asog ファイルをダブルクリックできます。メインの引数配列の最初のエントリとしてファイル名でアプリが呼び出されます。