1

独自のウィンドウの1つを別のプロセスが所有するウィンドウにアタッチする必要があるアプリケーションをC#で作成しています。Windows APIからSetParent関数を使用してみましたが、機能しないようです。これを行う方法はありますか?

    [DllImport("user32.dll", SetLastError = true)]
    private static extern int SetParent(int hWndChild, int hWndNewParent);

    private void AttachWindow(int newParent) {
    SetParent(this.Handle, newParent);
     }
4

1 に答える 1

2

まず、P/Invoke宣言が間違っています。IntPtrハンドルは、ではなく、で表されInt32ます。

[DllImport("user32.dll", SetLastError = true)]
private static extern int SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

ここで、ウィンドウを別のプロセスに「アタッチ」することは避けてください。このSOスレッドを参照してください。

于 2012-02-05T13:05:35.067 に答える