...
IntPtr handle= WindowFromPoint(Control.MousePosition);
...
当鼠标在combobox的下拉列表区时,得到的handle并不是其父窗体的handle,这是为何?高手给点资料何如?
IntPtr handle= WindowFromPoint(Control.MousePosition);
...
当鼠标在combobox的下拉列表区时,得到的handle并不是其父窗体的handle,这是为何?高手给点资料何如?
调试欢乐多
public static extern IntPtr WindowFromPoint(Point Point);
[DllImport("user32.dll")]
public static extern IntPtr GetParent(IntPtr hWnd);
private void timer1_Tick(object sender, EventArgs e)
{
IntPtr vHandle = WindowFromPoint(Control.MousePosition);
while (vHandle != IntPtr.Zero && vHandle != Handle)
vHandle = GetParent(vHandle);
}
这样貌似得不到combobox父窗口的handle
[DllImport("user32.dll")]
public static extern IntPtr GetActiveWindow();用这个得到的是当前活动窗口的句柄。也就是你要的combobox所在的窗体的句柄。