所以我的问题是我有一个按钮想要以管理员身份在cmd上运行复制命令,因为该按钮的建议是将文件复制到Directry字体,但是由于目录字体需要管理员特权,因此它拒绝访问。
我拥有的代码是这样:
try {
Runtime rt = Runtime.getRuntime();;
if(e.getState()) {
rt.exec("runas /user:administrator cmd /c start /MIN cmd.exe /C" + "copy E:\\automation\\bin\\automation\\TitiliumWeb\\* C:\\Windows\\Fonts\\");
}
else if(d.getState()) {
rt.exec("runas /user:administrator cmd /c start /MIN cmd.exe /C" + "copy D:\\automation\\bin\\automation\\TitiliumWeb\\* C:\\Windows\\Fonts\\");
}
} catch (IOException e) {
e.printStackTrace();
}
结果是它什么也不做,因为它需要管理员的密码,但我不知道将密码放在哪里。
感谢您的帮助!
答案 0 :(得分:0)
即使无需手动输入密码也可以执行此操作,更改用户的计算机也是不合适的。
您已经在问题中添加了swing
标记,因此我假设您需要一些自定义字体才能在Swing程序中使用。正确的方法是:
代码可能看起来像这样:
Font font;
try (InputStream fontSource =
MyApplication.class.getResourceAsStream("TitilliumWeb-Regular.ttf")) {
font = Font.createFont(fontSource);
// 12 pt font
font = font.deriveFont(12f);
} catch (IOException | FontFormatException e) {
throw new RuntimeException("Required font is corrupted", e);
}