C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■92606 / 親階層)  別のアプリに対してモーダルとなるウィンドウの作成
□投稿者/ HiHi (1回)-(2019/10/10(Thu) 12:47:54)

分類:[VB.NET/VB2005 以降] 

使用言語:VB2013(WindowsFormアプリ)
OS:Windows10(64bit)

こんにちは。
今、別のアプリに対してモーダルとなるウィンドウを作成できるか試しています。
例えば、以下のように、IWin32Windowインタフェースを実装したクラスを用意し、
これに別アプリのウィンドウハンドルを適用したものをFormのShowDialogの引数に渡すことにより、
別アプリに対してモーダルとなるウィンドウになることを確認しましたが、
このやり方は(別アプリが操作できないことは別として)問題はないでしょうか?

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim hWnd As IntPtr = (別アプリのウィンドウハンドル)
        Using f As New Form2
            f.ShowDialog(New OwnerWindow(hWnd))
        End Using
    End Sub

    Private Class OwnerWindow
        Implements IWin32Window

        Private m_hWnd As IntPtr

        Public Sub New(ByVal hWnd As IntPtr)
            m_hWnd = hWnd
        End Sub
        Public ReadOnly Property Handle() As System.IntPtr Implements System.Windows.Forms.IWin32Window.Handle
            Get
                Return m_hWnd
            End Get
        End Property
    End Class
End Class

また、自身のアプリはx86ビルドの場合で、別アプリがx64で実行されている場合でも
この方法は使えますか?問題がありますか?
よろしくお願いいたします。

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: 別のアプリに対してモーダルとなるウィンドウの作成 /とっちゃん
→Re[1]: 別のアプリに対してモーダルとなるウィンドウの作成 /Azulean
 
上記関連ツリー

別のアプリに対してモーダルとなるウィンドウの作成 / HiHi (19/10/10(Thu) 12:47) #92606 ←Now
Re[1]: 別のアプリに対してモーダルとなるウィンドウの作成 / とっちゃん (19/10/10(Thu) 13:55) #92608
│└ Re[2]: 別のアプリに対してモーダルとなるウィンドウの作成 / HiHi (19/10/10(Thu) 15:21) #92609
│  ├ Re[3]: 別のアプリに対してモーダルとなるウィンドウの作成 / とっちゃん (19/10/10(Thu) 17:03) #92611
│  │└ Re: 別のアプリに対してモーダルとなるウィンドウの作成 / HiHi (19/10/11(Fri) 11:35) #92621
│  │  ├ Re[5]: Re: 別のアプリに対してモーダルとなるウィンドウの作成 / 魔界の仮面弁士 (19/10/11(Fri) 18:50) #92630
│  │  └ Re[5]: Re: 別のアプリに対してモーダルとなるウィンドウの作成 / PANG2 (19/10/11(Fri) 12:57) #92622
│  └ Re[3]: 別のアプリに対してモーダルとなるウィンドウの作成 / PANG2 (19/10/10(Thu) 18:24) #92615
│    └ Re[4]: 別のアプリに対してモーダルとなるウィンドウの作成 / とっちゃん (19/10/11(Fri) 10:05) #92617
Re[1]: 別のアプリに対してモーダルとなるウィンドウの作成 / Azulean (19/10/11(Fri) 06:27) #92616

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信