为windows编写自己的自定义命令行“wrapper”

时间:2009-07-29 17:57:25

标签: c# java windows user-interface command-prompt

我从未成为Windows命令行的粉丝。我已经尝试过像powercmd这样的工具并喜欢它们,但大多数都不是免费发布的,我不喜欢为我认为自己能写的东西买单。我想编写自己的命令行包装器,类似于powercmd,允许这些属性:

  • 自定义字体和颜色
  • Windows的不透明度
  • 在面板中同时打开多个窗口(可能类似于标签浏览)
  • 能够调整窗口大小

我现在正联系你们,帮助我决定是否应该在Visual Studio中使用C#进行此操作,或者是否应该使用Swing在Java中进行此操作。我对两者都很满意。有没有人做过这样的命令行包装?如果是这样,您使用的语言是什么?您的经历是什么?感谢您的任何反馈。

格兰特 -

6 个答案:

答案 0 :(得分:5)

如果你想做一个Windows命令行,我会推荐C#。 Java强制执行的平台独立性将使您过多地将命令传递给底层操作系统。

答案 1 :(得分:4)

There's already Console2 that hits the big bullet points - 可调整大小,不透明度,标签,可修改的字体。

它是用C ++编写的,它包装了cmd.exe(或者你告诉它使用哪个命令shell)所以如果你真的有兴趣用托管语言开发自己的shell,那么这些可能是两次攻击

答案 2 :(得分:2)

既然你问过,我自己在C#写了一个 - Process类只是有用了。这里的主要内容是I / O重定向。虽然我从未完全自己管理它,但您需要这样,以便子进程输出不会出现在另一个控制台窗口中。你也可以杀死程序,找到现有程序等等。

此外,C#的控制台操作非常方便。

虽然我不是Java程序员,但我可以想象,考虑到Java与平台无关,这两个重要特性都很难使用。

答案 3 :(得分:1)

对于这类项目,C#对Java有几个优势,其中最重要的是与Windows的更好集成,而Windows(可能)是您正在为此开发的唯一平台。 Java Swing库在Windows机器上看起来并不像C#形式那样微调,并且由于能够使用WPF,C#似乎对我来说是明显的赢家。

答案 4 :(得分:1)

我不会为此使用Java和Swing。 C#将允许您直接与.Net框架通信,并允许您构建更强大的命令行工具。将Java访问某些Windows系统调用将是一件麻烦事。

答案 5 :(得分:1)

只是想让大家知道我最终用C#编写了一个命令行包装器。结果非常好。我还有一些我要添加的小东西,然后我会提供源代码以及下载.exe的地方。我发布了一个视频,以防万一有人想提供反馈或想法。谢谢你的帮助。

http://www.youtube.com/watch?v=-NM-XcYwLDc

相关问题