我有一个用Lux用wxLua写的应用程序。当这个应用程序运行时,我希望能够将(大)字符串发送到外部程序,以便用户可以查看字符串,搜索它等等。
这个外部程序可以是记事本,记事本++等,甚至是浏览器窗口,只要用户可以查看和搜索文本。
我可以使用
打开一个编辑器本地句柄= io.popen(“记事本”,“w”) - 例如
但是
handle:write(myString)
在编辑器中没有显示任何内容。如果我已经运行它,记事本++甚至都不会打开一个新窗口。
我可以使用
启动浏览器wx.wxLaunchDefaultBrowser(“http://stackoverflow.com”)
但我不知道如何将(100-200kb)字符串传递给浏览器窗口。
非常感谢任何帮助,谢谢! 蹬
答案 0 :(得分:3)
打印文本或HTML文件,然后使用wx.wxLaunchDefaultBrowser ("file://path/to/file")
在浏览器中打开它,或使用os.execute
运行带有相同文件的外部编辑器。
答案 1 :(得分:2)
请参阅Oleg的最佳解决方案帖子,IMO。
另一种解决方案是将文字放在剪贴板上,这样用户就可以将其粘贴到任何地方。
至于将文本注入已经打开的应用程序中,这是非常重要的,超出了wxLua的范围。您需要使用COM接口或使用Win32 API调用遍历应用程序的控制结构或类似毛茸茸的东西,通常是特定于应用程序。