C#将对话框中其他应用程序的标签值反映到自己应用程序的标签上

C#将对话框中其他应用程序的标签值反映到自己应用程序的标签上,c#,reflection,label,C#,Reflection,Label,我创建了一个应用程序,还有一个应用程序没有源代码,另一个应用程序有一个对话框,其中的标签以百分比形式显示当前作业的进度状态,如下所示: 我试图实现的是捕获这个标签的状态,并不断更新我在自己的应用程序中创建的标签 据我所知,我必须使用WM_GETTEXT或WM_COPY函数,但我甚至不知道从哪里开始,顺便说一下,我知道如何使用FindWindow函数 到目前为止,我已成功利用spy++捕获有关主窗口的信息: 手柄:0020040A 标题:导入 类别:TfrmProgress 我还可以在主窗口

我创建了一个应用程序,还有一个应用程序没有源代码,另一个应用程序有一个对话框,其中的标签以百分比形式显示当前作业的进度状态,如下所示:

我试图实现的是捕获这个标签的状态,并不断更新我在自己的应用程序中创建的标签

据我所知,我必须使用
WM_GETTEXT
WM_COPY
函数,但我甚至不知道从哪里开始,顺便说一下,我知道如何使用
FindWindow
函数

到目前为止,我已成功利用spy++捕获有关主窗口的信息:

  • 手柄:0020040A
  • 标题:导入
  • 类别:TfrmProgress
我还可以在主窗口中获取窗口的类和句柄,如下所示:

类和句柄是:

  • 句柄:00080610
  • 类别:Tpanel
附加的

我还设法检索了进度条的句柄和类:

  • 手柄:00090400
  • 类别:TProgressBar
问题

如何将此对话框中标签的状态反映到应用程序中的标签上或反映进度条

原因

我试图实现这一点,因为这个对话框不是一直可用的,即它只是偶尔出现,我花了很长时间试图捕捉它。但我希望看到应用程序任务的进度


谢谢你,欢迎你的帮助

有比Tpanel小的窗户吗?如果不是的话,你可能是运气不好……整个窗口可能只是简单地画出来,而不是由任何东西组成,这些东西将返回任何对WM_GETTEXT有意义的东西。如果您知道如何使用FindWindow(),那么获取主窗口的句柄并将其传递给FindWindowEx()以获取子窗口。然后看看这个句柄和WM_GETTEXT会发生什么。我已经在我的原始帖子中添加了信息,我已经使用Spy++获得了进度条类,这对我有帮助吗?因为即使我能够反映进度条,我也会非常棒。另外,我不知道如何使用
WM_GETTEXT
,我已经尝试过开始,但甚至不知道如何去做。因为在找到主窗口和子窗口之后,我在子窗口中使用
WM_GETTEXT
函数查找哪些参数?也许这个例子会把事情弄清楚。还有可能还有另一种方法,我的意思是使用完全不同的函数?你知道如何使用FindWindow()和FindWindowEx()?看看这个例子,了解如何使用WM_GETTEXT。是的,我知道如何使用FindWindow()和FindWindowEx(),我实际上已经在我的应用程序中实现了,你向我提出的问题,我已经看过了,它唯一解释的是如何获得窗口的标题名。但我不知道如何获取TProgressBar句柄并在我的应用程序中显示它?!?!