如何在Lua中将字符串写入编辑器或浏览器窗口

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

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

我可以使用以下方式打开编辑器:

local handle = io.popen("notepad", "w") -- 例如

但是,

handle:write (myString)

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

我可以使用以下方式打开浏览器:

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

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

非常感谢任何帮助,谢谢! Stomp

点赞
用户936986
用户936986

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

2012-08-30 16:03:18
用户501459
用户501459

请参考Oleg的帖子,我认为那是最好的解决方案。

另一个解决方案是将文本放在剪贴板上,以便用户可以在任何地方粘贴它。

至于向已经打开的应用程序中注入文本,则非常困难,超出了您可以在wxLua中进行的范围。你需要使用COM接口或使用Win32 API调用或其他常常特定于应用程序的方式遍历应用程序的控制结构。

2012-08-30 16:07:43