Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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
Delphi-如何从Delphi创建的其他应用程序的控件中获取提示_Delphi - Fatal编程技术网

Delphi-如何从Delphi创建的其他应用程序的控件中获取提示

Delphi-如何从Delphi创建的其他应用程序的控件中获取提示,delphi,Delphi,我有一个项目需要从delphi创建的另一个应用程序的控件(例如TButton)获取提示。我使用Hook、WH_CBT、使用.exe和.dll使其全局化,当鼠标指向控件并显示和隐藏提示时,我得到提示的HCBT_CREATEWND和HCBT_destrownd,其句柄和SysShadow作为类。但在此之前,THintWindow是用它的句柄创建的,之后我不知道如何从这个提示中获取文本。我在谷歌上搜索,没有结果 有没有人能帮我解决这个问题 提前感谢您。我怀疑是否有支持的方法可以做到这一点。也许你需要注

我有一个项目需要从delphi创建的另一个应用程序的控件(例如TButton)获取提示。我使用Hook、WH_CBT、使用.exe和.dll使其全局化,当鼠标指向控件并显示和隐藏提示时,我得到提示的HCBT_CREATEWND和HCBT_destrownd,其句柄和SysShadow作为类。但在此之前,THintWindow是用它的句柄创建的,之后我不知道如何从这个提示中获取文本。我在谷歌上搜索,没有结果

有没有人能帮我解决这个问题


提前感谢您。

我怀疑是否有支持的方法可以做到这一点。也许你需要注入到这个过程中。或者使用
ReadProcessMemory
并将其破解。不会有很多乐趣的。如果是我,我会努力证明放弃是正当的!谢谢David的评论和信息,我将尝试使用ReadProcessMemory@Silver-不必使用OnHint来修改提示,可以在运行时随时修改提示。无论如何,我在我的评论中通过“也许这可以识别一两个提示…”暗示了这一点和其他可能的问题。如果您需要在提示实际激活时获取提示文本,那么您可以创建一个全局
WH_CALLWNDPROC
hook并检查
If(GetClassName(Msg.hwnd)='THintWindow)和(Msg.message=WM\u WINDOWPOSCHANGED)然后GetWindowText(Msg.hwnd)
@Anthoner-注意,kobik的评论以“如果需要…”开头。那是因为这个问题没有给出任何关于你什么时候想要暗示的线索。一、 首先,永远不要怀疑你在提示被激活时需要提示。一般来说,尽量使你的问题尽可能精确。