3

私は現在 iTunes プラグインを開発しており、WPF プラグインをドラッグ、サイズ変更などの際に iTunes ウィンドウの横に貼り付ける必要があります。目標は、iTunes を wpf アプリに並べて貼り付けることです。

別のウィンドウ (私の場合は iTunes) の動き (サイズ変更、移動) を追跡する方法を探しています。iTunes COM for Windows SDK は、最大化と最小化に関するイベントを提供しますが、残念ながら、ウィンドウのサイズ変更と移動に関するイベントはありません。

私は成功せずにwin32 setParent関数を試しました。私の問題に対する適切な解決策ではないと思います。私はウェブ全体を徹底的に検索しましたが、何も見つかりませんでした。

4

1 に答える 1

2

WINDOWPOS 構造が探しているもの だと思います。他のウィンドウ構造が役立つ場合があります。

一部の Google 検索では、WINDOWPOS を使用しない別の例が見つかりました。

1、API FindWindow() を呼び出してウィンドウ ハンドルを取得します (SPY++ を使用して ClassName と WindowName の 2 つのパラメーターを取得します)。

2、API GetWindowRect() を呼び出して、指定されたウィンドウのサイズと位置を取得します。

コードスニペット

    [DllImport("user32.dll")]
    private static extern IntPtr FindWindow(string className, string windowName);

    [DllImport("user32.dll")]
    private static extern int GetWindowRect(IntPtr hwnd, out Rectangle rect);

    private void button2_Click(object sender, EventArgs e)
    {
        string className = "yourClassName";
        string windowName = "yourWindowName";

        Rectangle rect;
        IntPtr hwnd = FindWindow(className, windowName);
        GetWindowRect(hwnd, out rect);
    }
于 2013-01-22T14:57:25.637 に答える