http://jeanne.wankuma.com/tips/csharp/form/bottommost.html
……だが、私の本当にやりたかったことは、常に非アクティブなウインドウを作りたいというものだったorz。
// FindWindow 関数
[DllImport("USER32.DLL", CharSet=CharSet.Auto)]
private static extern System.IntPtr FindWindow(
string lpClassName,
string lpWindowName
);// SetParent 関数
[DllImport("USER32.DLL", CharSet=CharSet.Auto)]
private static extern System.IntPtr SetParent(
System.IntPtr hWndChild,
System.IntPtr hWndNewParent
);// ここから先が使用例になります
private void button1_Click(object sender, System.EventArgs e) {
// Program Manager のハンドルを取得する
System.IntPtr hProgramManagerHandle = FindWindow(null, "Program Manager");// 正しく取得できた場合は、Program Manager を親ウィンドウに設定する
if (! hProgramManagerHandle.Equals(System.IntPtr.Zero)) {
SetParent(this.Handle, hProgramManagerHandle);
}
}