请问在winform程序中如何获得windows start menu的高度啊

解决方案 »

  1.   

    FindWindow('shell_traywnd',   nil) 获得窗口信息或者Screen.WorkAreaHeight 屏幕工作区高度都可以实现你的问题
      

  2.   

    FindWindow('shell_traywnd', nil) 得到hwnd然后在获取Region
      

  3.   

    参考:
    var
    hWnd: THandle;
    hRect: TRect;
    begin
    hWnd := FindWindow('Shell_TrayWnd', nil);
    hWnd := GetParent(FindWindowEx(hWnd, 0, 'ReBarWindow32', nil));
    GetWindowRect(hWnd,hRect); 
    //这里的hRect就包含了任务栏的坐标信息,包括左、有、上、下、左上角、右下角等
      

  4.   

    问题解决了,先把窗口最大化,然后用Screen.FromControl(this).WorkingArea取得工作区,然后再把窗口this.WindowState = FormWindowState.Normal;,位置设到0,0;高度设为工作区的高度,宽度设System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width,咔咔咔。
    谢谢楼上几位