現在、別のプログラム (Skype) へのオーバーレイとして機能するフォーム アプリケーションを開発しています。現在、私は TopMost = true を使用していますが、それはかなり悪い解決策です。
Skype ウィンドウへのハンドルと、自分のウィンドウへのハンドルがあります。プログラムが次の 3 つのステートメントを満たすようにするにはどうすればよい
です
か
?
上と後ろは z オーダーに関連しています。
現在 SetWindowLong 関数を使用していますが、目的の結果が得られません。
[DllImport("user32.dll")]
public static extern int SetWindowLong(HandleRef hWnd, int nIndex, HandleRef dwNewLong);
SetWindowLong(
new HandleRef(child, child.Handle),
-8, // GWL_HWNDPARENT
new HandleRef(owner, owner.Handle));
#1 については、アプリケーションは Skype のサイズが変更されたかどうかを継続的にチェックするため、ウィンドウが表示されなくなったかどうかも簡単にチェックできます。しかし、私は#2と#3で完全に途方に暮れています。
前もって感謝します。クロール