使用IO.popen等时弹出DOS窗口
我正在为 Windows XP 开发 GUI。 一切都很好,除了当我通过反引号、%x()、IO.popen 等运行外部命令时,我会弹出一个 DOS 窗口进行分割第二。 我知道当我在 OS X 和 Linux 上开发时不会发生这种情况。 关于如何摆脱它有什么想法吗? (或者至少隐藏它?)
我使用 Rubyw 1.8.6(Windows 版 Ruby 的“GUI 版本”)和 GTK2 作为界面。
I'm working on a GUI for Windows XP. Everything works great, except when I run an external command through backticks, %x()
, IO.popen
, etc, I get a DOS window that pops up for a split second. I know this doesn't happen when I've developed on OS X and Linux. Any ideas on how to get rid of it? (Or at least hide it?)
I'm using rubyw
1.8.6 (the "GUI version" of Ruby for Windows) and GTK2 for the interface.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用Win32API模块,并调用Windows api CreateProcess函数。 这并不漂亮。
You can use the Win32API module, and call the windows api CreateProcess Function. It ain't pretty.
正如评论中提到的,我从未找到解决方案。 在这种特殊情况下,我需要的信息实际上已经存储在文件系统上(所以我只是将其作为文件读入)。 这在以前并不明显,并且不太可能在所有情况下都会出现。
如果有人找到“真正的”解决方案,我将有兴趣听到它。
As mentioned in a comment, I never found a solution to this. In this particular circumstance, the information I needed was actually already stored on the filesystem (so I just read it in as a file). This wasn't immediately obvious before, and isn't likely to come up in all circumstances.
If anyone finds a "true" solution, I would be interested in hearing about it.