Win32 C++ プログラミングは初めてです。今、メトロ (AppContainer) アプリをホストできるアプリケーションを作成したいと考えています。これらの COM インターフェイスを使用して可能と思われます:
- IApplicationDesignModeSettings ( MSDN リンク)
- IApplicationActivationManager (メトロ アプリの起動に使用)
IApplicationActivationManager を使用して通常どおりアプリを起動できますが、ウィンドウ内でアプリをホストできるようにするには、アプリをデザイン モードで起動する必要があります。アプリをデザイン モードで起動できるようにするには、IInitializeWithWindow ( MSDN リンク) を初期化する必要がある IApplicationDesignModeSettings をセットアップする必要があります。IInitializeWithWindow の Initialize() メソッドには、「プロキシ ウィンドウ」hwnd が必要です。ここに私の問題があります。標準の CreateWindow() と空のコールバックを使用してウィンドウを作成し、そのウィンドウ HWND を IInitializeWithWindow->Initialize() パラメータとして使用します。ただし、S_OK を返す代わりに、このメソッドは E_ACCESSDENIED エラーを返します。なぜこうなった?「プロキシ ウィンドウ」とはどういう意味ですか? 可能な解決策は何ですか?