【问题标题】:SendMessage from a Delphi app to a Java app RICHEDIT50W control从 Delphi 应用程序向 Java 应用程序 RICHEDIT50W 控件发送消息
【发布时间】:2011-06-01 19:37:06
【问题描述】:

有谁知道如何将文本从 Delphi 应用程序发送到 Java 应用程序 RICHEDIT50W 控件?这个我试过了,还是不行:

oPinWindowHandle := FindWindow(nil, 'My Caption');
oRichEditControl := FindWindowEx(oPinWindowHandle, 0, 'RICHEDIT50W', nil);
SendMessage(oRichEditControl, WM_SETTEXT, 0, LongInt(PChar(msg)));

oRichEditControl 和 oPinWindowHandle 都有一个有效的句柄。

编辑

SendMessage 工作正常。它返回 1。也许应用程序正在阻止消息,甚至处理自己的消息。有什么方法可以找到应用接受哪些消息?

【问题讨论】:

  • 首先使用 Spy++ 仔细检查 hwnd 是否正确
  • 对 SendMessage 的调用是否返回错误?当消息被 UIPI 阻止时,使用 GetLastError 检索的最后一个错误设置为 5(拒绝访问)。
  • @Rafael 是 SendMessage 函数返回的值(如果工作正常,必须为 1 或 true)?
  • SendMessage 返回什么值?
  • @smasher 它工作正常。系统编组文本。

标签: java delphi winapi sendmessage


【解决方案1】:

我刚刚发现应用程序阻止了一些消息,然后我遇到了这个线程:

Sending an application keystrokes with “SendMessage”

这对我绕过这个问题帮助很大。

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    相关资源
    最近更新 更多