1

基本上我想做的是从另一个应用程序中查看一个应用程序中进度条的值,如果可能的话。

我已经能够从我的应用程序中找到进度条并获得 WINDOWINFO:

[DllImport("user32.dll")]
private static extern bool GetWindowInfo(IntPtr hwnd, ref WINDOWINFO pwi);

但我不确定如何或是否有可能获得价值。

WINDOWINFO在这里这里都有解释。

任何帮助或其他想法将不胜感激。

4

1 回答 1

2

GetWindowInfo不会告诉您任何特定于进度条的信息 - 只有标准窗口标志。查看进度条消息的文档,了解如何与进度条进行交互。

您需要使用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);
于 2013-08-03T02:28:33.090 回答