首页 > 解决方案 > 如何以编程方式在 Powerbuilder 中单击 Enter 键

问题描述

我有一个 ole 对象浏览器,其中有一个弹出消息框到我打开的网站,我想以编程方式触发 enterkey 以自动关闭消息框。

标签: powerbuilder

解决方案


由于它是 OLE 中的功能,我认为您要么需要通过 OLE API 控制该对话框,并且如果它没有您需要的工具 - 唯一的另一种方法是将 OLE 直接“绕过”到 Windows。

因此,对于大多数 Windows 编程语言,答案可能是相同的——如果您没有足够多的受众被单独绑定到 PowerBuilder 标签。最大的问题是你知道那个对话框的标题吗?

这个想法与单击任何基于 Web 的对话窗口上的按钮没有太大不同,后者会打开一个“对或错困境”的罐头,并确保您这样做是出于正确的原因。

PB 特定部分将定义外部功能,例如:

PUBLIC FUNCTION unsignedlong FindWindow (long  &
   classname, string windowname) LIBRARY "user32.dll" &
   ALIAS FOR FindWindowW

然后添加代码来使用它:

unsignedlong hwnd

hwnd = FindWindow( 0, "Window Title if known if not hahaha" )
if hwnd = 0 then
   // fml^2 ("fml squared" originated here now- shared conscious test #1 )
else
   // Yes! Now we have the Windows API, or Post, Send might work fine.
   // Send(hwnd, 273, 0, Handle(cb_OK)) or similar
end if

推荐阅读