基本上我想要做的是从另一个应用程序中查看应用程序中进度条的值,如果可能的话。
我已经能够从我的应用程序中找到进度条并获取WINDOWINFO:
[DllImport("user32.dll")]
private static extern bool GetWindowInfo(IntPtr hwnd, ref WINDOWINFO pwi);
但我不确定如何或是否有可能获得价值。
任何帮助或其他想法将不胜感激。
答案 0 :(得分:2)
GetWindowInfo
不会告诉您任何特定于进度条的内容 - 只有标准窗口标记。请查看Progress Bar Messages的文档,了解如何与进度条进行交互。
您需要使用PBM_GETPOS消息获取进度条的当前位置,如下所示:
const uint PBM_GETPOS = 0x0408;
[DllImport("user32.dll")]
private static extern IntPtr GetWindowInfo(IntPtr hwnd, uint msg, IntPtr wParam, IntPtr lParam);
uint pos = (uint)SendMessage(hwnd, PBM_GETPOS, IntPtr.Zero, IntPtr.Zero);