Выполнить команду копирования от имени администратора на cmd - PullRequest
0 голосов
/ 02 апреля 2019

Так что моя проблема в том, что у меня есть кнопка, которую я хочу выполнить командой копирования в 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();
        }

В результате он ничего не делает, потому что ему нужен пароль администратора, но я не знаю, где его поставить.

Спасибо за помощь!

1 Ответ

0 голосов
/ 03 апреля 2019

Даже если бы это можно было сделать без ввода пароля вручную, было бы неуместно изменять компьютер пользователя.

Вы добавили тег swing в свой вопрос, поэтому я предполагаю, что вам нужны некоторые пользовательские шрифты для использования в программе Swing. Правильный способ сделать это:

  • Включите файлы шрифтов в ваше приложение. В каждой IDE есть раздел «ресурсы» для этого.
  • Во время выполнения считывайте файлы встроенных шрифтов с помощью Class.getResourceAsStream .
  • Передать возвращенный InputStream в Font.createFont .
  • Используйте DerveFont , чтобы получить нужный размер.

Код может выглядеть так:

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...