长标题,但简单的问题。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