0

我有一个用 wxLua 用 Lua 编写的应用程序。在此应用程序运行时,我希望能够将(大)字符串发送到外部程序,以便用户可以查看字符串、搜索字符串等。

这个外部程序可以是notepad、notepad++等,甚至是浏览器窗口,只要用户可以查看和搜索文本即可。

我可以使用打开编辑器

本地句柄 = io.popen("notepad", "w") -- 例如

但是之后

句柄:写(myString)

在编辑器中不显示任何内容。如果我已经运行了记事本++,它甚至不会打开一个新窗口。

我可以使用启动浏览器

wx.wxLaunchDefaultBrowser ("http://stackoverflow.com")

但我不知道如何将 (100-200kb) 字符串传递给浏览器窗口。

非常感谢任何帮助,谢谢!跺脚

4

2 回答 2

3

打印出文本或 HTML 文件,然后在浏览器中打开它,wx.wxLaunchDefaultBrowser ("file://path/to/file")或使用os.execute以相同文件作为参数运行外部编辑器。

于 2012-08-30T16:03:18.297 回答
2

请参阅 Oleg 的帖子以获得最佳解决方案,IMO。

另一种解决方案是将您的文本放在剪贴板上,以便用户可以将其粘贴到他们喜欢的任何地方。

至于将文本注入到已经打开的应用程序中,这是非常重要的,并且超出了您可以使用 wxLua 执行的范围。您需要使用 COM 接口或使用 Win32 API 调用或同样繁琐且通常特定于应用程序的东西来遍历应用程序的控制结构。

于 2012-08-30T16:07:43.537 回答