2015-04-06 33 views
0

我希望在我的桌面應用中實現類似Chrome Metro模式。 請幫幫我。如何實施Chrome Metro模式?

class WRLAppViewSource : public mswr::RuntimeClass<winapp::Core::IFrameworkViewSource> { 
... 
}; 

mswrw::RoInitializeWrapper roinit(RO_INIT_MULTITHREADED); 
HRESULT hr; 

mswr::ComPtr<winapp::Core::ICoreApplication> core_app; 
hr = CreateActivationFactory(
     RuntimeClass_Windows_ApplicationModel_Core_CoreApplication, 
     core_app.GetAddressOf()); 
HSTRING id; 
hr = core_app->get_Id(&id); 

auto viewSource = mswr::Make<WRLAppViewSource>(); 
hr = core_app->Run(viewSource.Get()); 

「HR = core_app->運行(viewSource.Get());」 返回 「HR = 0x80004015:類被配置爲作爲一個安全ID從呼叫者不同運行」。

+0

命令行是「-ServerName:DefaultBrowserServer」。 – Felix 2015-04-06 13:37:30

回答

0

Chrome,IE和FireFox使用的「Metro模式」環境(通常由Windows應用商店應用使用)不適用於通用桌面應用。

Chrome可以執行此操作,因爲它是「啓用了新體驗的桌面瀏覽器」,並且被用戶選爲默認瀏覽器。如果您將默認瀏覽器更改爲IE,則Chrome將失去此功能,IE將獲得此權限。

如果您正在編寫瀏覽器,請查看Developing a new experience enabled Desktop Browser白皮書。

如果您未編寫瀏覽器並試圖將Windows Store用戶界面添加到現有桌面企業應用程序,請查看Brokered Windows Runtime Components(BWRC)。 BWRC允許側裝的.Net Windows應用商店應用與桌面組件互操作,因此Windows商店應用可以提供連接到現有後端的現代用戶界面。