我正在运行 Windows 7 Pro 并在 Eclipse 中开发 Java 应用程序。我需要 Eclipse 将用户指定的命令(例如“chkdsk C:”)发送到命令提示符,然后将命令提示符打印的任何内容输出到 Eclipse 中的控制台。我可以发送命令并返回接收文本。但是,当我运行 chkdsk 时,我需要拥有命令会话的管理员权限。我从这里的线程中看到:
Java:以管理员身份运行
实现此目的的一种方法是通过 .manifest 文件。但是,我无法理解如何为 Java 创建清单文件:
.manifest 文件是否与 .CLASS 文件一起进入 Eclipse 工作区?如果我把它放在那里,每当我运行程序时,它会自动运行以在管理模式下启动我的程序吗?
上述线程给出的链接:
http://msdn.microsoft.com/en-us/library/bb756929.aspx
似乎是 Visual-Studio 特定的,有示例代码适用于 Java 程序 .manifest 文件吗?我需要在 Visual Studio 中创建 .manifest 文件还是它只是一个文本文件?
另外,清单文件的名称是 yourProgram.exe.manifest ...据我了解,Java 不会创建 .exe 类型的可执行文件,不是吗?清单文件应该按上面的方式命名还是需要像 yourProgram.CLASS.manifest 这样的名称?
感谢您的任何帮助!
描述的应用程序清单here和 Java 清单文件(位于 META-INF/MANIFEST.MF 的 JAR 文件中)是两个完全独立的概念,仅共享一个名称。 META-INF/MANIFEST.MF 中没有任何内容可以帮助 Java 可执行文件获得提升。
此外,需要提升的是JVM,而不是类文件。将 .manifest 文件与所有类文件放在一起不会有任何效果。
如果我必须做这样的事情,我首选的方法是使用诸如elevate.exe
打电话CHKDSK
. elevate.exe
可以在以下位置找到这篇博客文章链接到您提到的问题。我没有测试过elevate.exe
,而且作者最初是为Windows Vista编写的,所以我不知道它在Windows 7上的表现如何。
看起来CHKDSK
是应用程序中唯一需要提升的部分。如果是这样,从安全的角度来看,不让整个应用程序一直提升是有意义的,而大多数时候它可以在没有提升的情况下进行管理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)