3

我从来都不是windows命令行的粉丝。我尝试过 powercmd 之类的工具并喜欢它们,但大多数都不是免费分发的,而且我不喜欢为我认为自己可以编写的东西付费的想法。我想编写我自己的类似于 powercmd 的命令行包装器,它允许这些属性:

  • 自定义字体和颜色
  • 窗户的不透明度
  • 在一个面板中同时打开多个窗口(可能像选项卡式浏览)
  • 能够调整窗口大小

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

授予-

4

6 回答 6

5

如果你想做一个 windows 命令行,我会推荐 C#。Java 的强制平台独立性会让你在将命令传递给底层操作系统时付出太多努力。

于 2009-07-29T18:01:37.903 回答
4

已经有 Console2 达到了重要的要点- 可调整大小、不透明度、标签、可修改字体。

它是用 C++ 编写的,并且在引擎盖下它包装了 cmd.exe(或您告诉它使用的任何命令 shell),因此如果您真的对用托管语言开发自己的 shell 感兴趣,那么这可能是对它的两次打击。

于 2009-07-29T18:09:15.857 回答
2

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

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

虽然我不是 Java 程序员,但我可以想象这两个重要特性都很难使用,因为 Java 是独立于平台的。

于 2009-07-29T18:09:55.513 回答
1

对于这种类型的项目,C# 比 Java 有几个好处,其中最重要的是与 Windows 的更好集成,Windows(大概)是您开发此项目的唯一平台。Java Swing 库在 Windows 机器上的外观不像 C# 表单那样精细,而且由于能够使用 WPF,C# 对我来说似乎是明显的赢家。

于 2009-07-29T18:04:21.080 回答
1

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

于 2009-07-29T18:04:59.720 回答
1

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

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

于 2009-08-14T19:40:39.720 回答