powerbuilder - 如何以编程方式在 Powerbuilder 中单击 Enter 键
问题描述
我有一个 ole 对象浏览器,其中有一个弹出消息框到我打开的网站,我想以编程方式触发 enterkey 以自动关闭消息框。
解决方案
由于它是 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
推荐阅读
- svn - VisualSVN 服务器从 Windows 2008 迁移到 2012(Svn 版本 2.7.14)
- php - SwaggerUI 传递参数
- c# - 用另一个覆盖 IExternal 命令
- python - 如何从 Django 字段中检索数据?
- python - 使用 email.mime 时无法在电子邮件正文中看到 pandas 数据框
- node.js - Node 中 Http Get 的异步使用
- android - 我可以同时使用两个不同的功能从数据库中检索两个文档吗?
- java - OpenAM - 如何在身份验证链中获取先前登录模块的状态
- r - 使用 apply() 但获得类列表答案
- c# - 尝试通过管道发送字符串时出现罕见的异常