LoginSignup
1
2

More than 5 years have passed since last update.

UWPの制約と解決策

Posted at

初めに

Win32やWPFなどで出来ていたボリュームや輝度変更が、UWPでは基本的には出来ないという制約があります。
また、逆にWPFで作っているが一部のUIはUWPを使用したいという場合も(あるかな?)。
今回はその解決策の一つであるExtend Appを説明します。

Extend Appとは

Extend Appの正式名称はExtend your desktop application with modern UWP componentsで、
UWPとWin32やWPFなどを1つのパッケージに纏めることで、出来ることを拡張します(ざっくり)。
実装方法はかずきさん記載のここここを見てもらうとして、
このページとしては実装の際に自分が躓いた箇所を記載しようかと。

エントリーポイントとスタートアップ

かずきさん説明ページにしっかりと記載されていますが、スタートアップはLanchAppプロジェクトで、
エントリーポイントはLaunchAppプロジェクトの"アプリケーション"の下に追加されているLaunchApp.UWPです。
何故か私は、LaunchApp.UWPという名前のプロジェクトをスタートアップとしたことで、全く動かずに1時間ぐらい無駄にしました...

参照の追加

かずきさんが公開しているGithubのコードを単純にコピーしただけでは、コンパイルに失敗します。
NugetでUwpDesktopを追加するか、参照の追加で必要なDLLを追加する必要があります。
NugetでUwpDesktopを追加するのが一番簡単です。
詳細は以下を参照。
https://blog.okazuki.jp/entry/2015/11/07/223455
https://blogs.msdn.microsoft.com/lucian/2015/10/23/how-to-call-uwp-apis-from-a-desktop-vbc-app/
https://blogs.windows.com/buildingapps/2017/01/25/calling-windows-10-apis-desktop-application/#MOgHxP6xfT7ocrpH.97

参考リンク

https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-extend
https://blog.okazuki.jp/entry/2018/02/09/204909
https://blog.okazuki.jp/entry/2018/02/10/174735
https://blog.okazuki.jp/entry/2015/11/07/223455
https://blogs.msdn.microsoft.com/lucian/2015/10/23/how-to-call-uwp-apis-from-a-desktop-vbc-app/
https://blogs.windows.com/buildingapps/2017/01/25/calling-windows-10-apis-desktop-application/#MOgHxP6xfT7ocrpH.97

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2