■82967 / inTopicNo.3) |
Re[2]: UWPの画面のハンドルについて |
□投稿者/ T.T (4回)-(2017/02/23(Thu) 09:49:52)
|
魔界の仮面弁士さん
お早い回答ありがとうございます、お返事おそくなってしまいました。
教えていただいた以下のインターフェースについて調べてみたところ取得することができました。
> ICoreWindowInterop インターフェイスの > WindowHandle プロパティで拾えないでしょうか。 > https://msdn.microsoft.com/en-us/library/dn302117.aspx
あまりUWPを使う人はいないと思いますが、同じことをしたい人のために書き残しておきます。
上記のインターフェースを取得するためにUsingに
using System.Runtime.InteropServices;
を追加し インターフェースを定義します。
[ComImport, Guid("45D64A29-A63E-4CB6-B498-5781D298CB4F")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface ICoreWindowInterop { IntPtr WindowHandle { get; } bool MessageHandled { set; } }
そのあとウィンドウのハンドルを取得したい場所で
dynamic corewin = Windows.UI.Core.CoreWindow.GetForCurrentThread(); var interop = (ICoreWindowInterop)corewin; var handle = interop.WindowHandle;
上記のコードでハンドルの取得ができました。
魔界の仮面弁士さん、ありがとうございました!
|
解決済み
|