Длинное название, но простая проблема.
Я пытаюсь позволить окну прилипать к столу (или булавке), я могу сделать это так:
[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 для создания хорошего прозрачного многоуровневого окна, но тогда этот метод больше не работает для закрепления его на рабочем столе!
Кто-нибудь знает, как это можно сделать?
Спасибо!