長いタイトルですが、簡単な問題です。
ウィンドウをデストップ(またはピン)に貼り付けようとしていますが、次のようにできます。
[DllImport("User32.dll")]
static extern IntPtr FindWindow(String lpClassName, String lpWindowName);
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("user32.dll")]
static extern int SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
IntPtr pWnd = FindWindow("Progman", null);
pWnd = FindWindowEx(pWnd, IntPtr.Zero, "SHELLDLL_DefVIew", null);
pWnd = FindWindowEx(pWnd, IntPtr.Zero, "SysListView32", null);
IntPtr tWnd = this.Handle;
SetParent(tWnd, pWnd);
これは正常に機能しますが、透過性または不透明度を変更することはできません。
CreateWindowEx を使用して層状の透明なウィンドウを作成することはできますが、この方法ではデスクトップにピン留めすることはできません。
これを行う方法を知っている人はいますか?
感謝!