わずかな余談
この素晴らしい日に、開発、コード、コンパイル、デバッグなどの言葉に無関心でない人、現在1億行目の記念日を入力している人、初めての「Hello、World!」をコンパイルしてローンチした人。プロフェッショナルな休暇をおめでとうございます。 バグ、高速コンパイラ、デバッガとの相互理解を減らし、最も重要なことは、あなたの作業を本当に評価できる人が近くにいることです。
さあ始めましょう
私は最近、 WMCでアプリケーションの作成を開始しました。
SDKの翻訳と引用は退屈で面白くありません。
したがって、今日は、簡単なプラグインの作成について順を追って説明します。
簡単なアナログ時計を書きましょう。
何が必要ですか?
- MediaCenterがインストールされたWindows(Windows 7 Ultimate RTMを使用)
- Microsoft Visual Studio(バージョン2008の例を挙げます)
- Microsoft MediaCenter SDK(以降、バージョン6.0に焦点を当てます)
設置
このアドレスからSDK をダウンロードできます。
SDKは、Visual Studioのインストール後にインストールされます。
開発キットに含まれる例は、%Program Files%\ Microsoft SDKs \ Windows Media Center \ v6.0 \ Samplesフォルダーにあります。
シンプルな空のテンプレートアプリケーションを作成する
Visual Studioを起動します。
ファイル->作成->プロジェクト->新しいプロジェクト
SDKのインストールと統合が成功した場合、タイプツリーでWindows Media Centerブランチを簡単に見つけることができます。
開発言語として、C#を選択しました。
Windows Media Centerアプリケーション-基本テンプレートを選択します。
プロジェクトにhabraClockなどの名前を付けます。
OKをクリックします。
私たちの前に何がありますか?
Visual Studioのインターフェイスを個別に説明する必要はないと思います。私たちは皆、よく知っています。
ソリューションエクスプローラーに表示される内容を詳しく見てみましょう。
Codeフォルダーには、Launch.csファイルが含まれています。 このファイルは、IAddInModule、IAddInEntryPointインターフェイスを継承するMyAddInクラスについて説明しています。
Launchプロシージャは、IAddInEntryPointインターフェイスのメンバーを実装し、エントリポイントです。 Media Centerでアプリケーションが起動されたときに呼び出されるのは彼女です。
WMCナビゲーションの基本オブジェクトは、xmlベースのMCMLマークアップ言語で説明されているページです 。
この例で起動手順を実行する唯一のことは、マークアップフォルダーのDefault.mcmlファイルに記述されているデフォルトページに移動することです。
また、プロジェクトの樹皮にあるDevInstall.cmdとSetupフォルダーにあるRegistration.xmlも重要なファイルです。
システムにアセンブリを登録するには、DevInstall.cmdが必要です。 このアクションがなければ、WMCアプリケーションで新しいものは見られません。
プラグインを登録するには、管理者モードでコマンドラインを実行し、プロジェクトフォルダーに移動して、そこで実行する必要があります
DevInstall.cmd / debug
デバッグアセンブリの構成がある場合、/デバッグスイッチが追加されます。 リリース構成がアセンブルされている場合、キーを追加する必要はありません。
別の起動オプションは/ uです。 キーは、プラグインに関する情報をシステムから削除するために使用されます。
開いているウィンドウの数が多くならないようにするために、ビルド後のイベントの[ビルドイベント]タブのプロジェクトプロパティで、アセンブリの自動登録を追加します。 したがって、Visual Studioは管理者モードで起動します。
アセンブリに署名します
プラグインをWMCで実行するには、署名する必要があります。
プロジェクトプロパティで、[署名]タブに移動し、[アセンブリに署名]ボックスをオンにして、署名付きのsnkファイルを選択します。
そのようなファイルがまだない場合は、ドロップダウンリストから[作成]項目を選択して作成します。
プロジェクトをまとめる(F6)。
コマンドラインを実行して、アセンブリの公開キーを取得します。 コマンドプロンプトで
%Program Files%\ Microsoft SDKs \ Windows \ v6.0A \ Bin \ sn.exe -T [プロジェクトへのパス] \ Bin \ Debug \ habraClock.dll
出力では、次の形式の文字列を取得します
公開鍵トークン:597ac92eb14461f4
SetupフォルダーのRegistration.xmlファイルを開き、 PublicKeyToken = insert_public_key_token_hereをPublicKeyToken = 597ac92eb14461f4に変更します
プロジェクトを組み立て、DevInstallをインストールします(もちろん、私のレシピに従って自動インストールを登録していない限り)。
私たちは仕事の結果に感心します
Media Centerを起動します。
すべてが正しければ、アプリケーションページにhabraClockなどが表示されます。
起動後、Default.mcmlファイルの内容が画面に表示されます。つまり、テキストHelloの行です。
おわりに
今日、Windows Media Center用のアプリケーションを作成、署名、登録する方法を学びました。
これについては、記事の最初の部分を終了します。
そして、私はその継続に取り組んでいますが、ちょっとした宿題です。
私自身はデザイナーではないので、アプリケーションの標準的な見方を考え直して、もっと正気でHabrに関連するものに変えてください。
あなたの提案、希望、批判を待っています。
2009年 ハブ外でのこの記事の資料の使用