長標題,但簡單的問題。C#在桌面上創建一個粘滯窗口,具有transperancy
我試圖讓一個窗口粘到destop(或腳),我可以做到這一點是這樣的:
[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);
這工作得很好,但我不能改變transperancy或opacitiy。
我可以使用CreateWindowEx創建一個很好的透明窗口分層,但是這種方法不再適用於將其固定到桌面上!
任何人都知道如何做到這一點?
謝謝!
爲什麼不這種方法「工作了」? – Thomas 2010-01-09 10:44:04