Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#中,给定一个窗口句柄的intptr,如何测量这个窗口句柄';使用scrollinfo设置真实高度_C#_Scroll_Intptr - Fatal编程技术网

在C#中,给定一个窗口句柄的intptr,如何测量这个窗口句柄';使用scrollinfo设置真实高度

在C#中,给定一个窗口句柄的intptr,如何测量这个窗口句柄';使用scrollinfo设置真实高度,c#,scroll,intptr,C#,Scroll,Intptr,我在一个单独的应用程序中的滚动窗口中有一个子窗口。我试图使用C#控制台应用程序检查滚动窗口的真实高度(不是屏幕上的高度,而是可以滚动多少像素的像素高度)。我知道,使用现有的user32.dll libs,我可以要求提供滚动信息,但这给了我有关滚动条本身、滚动条高度和位置的详细信息,但没有给我滚动条将滚动的总像素 [DllImport("User32.dll")] private static extern bool GetScrollInfo(IntPtr hwnd, int fnBar, re

我在一个单独的应用程序中的滚动窗口中有一个子窗口。我试图使用C#控制台应用程序检查滚动窗口的真实高度(不是屏幕上的高度,而是可以滚动多少像素的像素高度)。我知道,使用现有的user32.dll libs,我可以要求提供滚动信息,但这给了我有关滚动条本身、滚动条高度和位置的详细信息,但没有给我滚动条将滚动的总像素

[DllImport("User32.dll")]
private static extern bool GetScrollInfo(IntPtr hwnd, int fnBar, ref ScrollInfo lpsi);
是否有一种方法可以使用上述方法返回的scrollinfo导出可滚动区域的实际像素

public struct ScrollInfo
{
    public uint cbSize;
    public uint fMask;
    public int nMin;
    public int nMax;
    public uint nPage;
    public int nPos;
    public int nTrackPos;
}

可能需要
GetClientRect
“检索窗口客户端区域的坐标。客户端坐标指定客户端区域的左上角和右下角。由于客户端坐标相对于窗口客户端区域的左上角,因此左上角的坐标为(0,0)。”获取Rect的问题是它只有屏幕上的像素。可能您需要
GetClientRect
“检索窗口客户端区域的坐标。客户机坐标指定客户机区域的左上角和右下角。因为客户机坐标是相对于窗口客户机区域的左上角的,所以左上角的坐标是(0,0)。“获取Rect的问题是它在屏幕上的唯一像素。