Открытие программы в administrator с помощью Arduino (DigiSpark / DigiSparkKeyboard)
Я совсем новичок в Arduino и DigiSparkKeyboard, поэтому мало что о них знаю. Я пытаюсь с помощью DigiSpark открыть CMD в режиме администратора, но это просто не работает. Я знаю, что мне нужно заставить его одновременно нажимать control, shift и enter, чтобы он запускался от имени администратора, но это не работает. На данный момент мой код выглядит следующим образом:
#include "DigiKeyboard.h"
#define MOD_SHIFT_LEFT (1<<1) //00000010
#define MOD_GUI_LEFT (1<<3) //00001000
#define MOD_CONTROL_LEFT 1
#define KEY_ENTER 40
#define KEY_C 6
#define KEY_M 16
#define KEY_D 7
void setup() {
// put your setup code here, to run once:
DigiKeyboard.update();
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.sendKeyStroke(0, MOD_GUI_LEFT);
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_C);
DigiKeyboard.sendKeyStroke(KEY_M);
DigiKeyboard.sendKeyStroke(KEY_D);
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(MOD_CONTROL_LEFT + MOD_SHIFT_LEFT + KEY_ENTER);
}
void loop() {
// put your main code here, to run repeatedly:
}
@Finder, 👍0
3 ответа
Лучший ответ:
Если посмотреть на код, то первым аргументом должен быть ключ, а вторым - модификаторы. Таким образом, DigiKeyboard.sendKeyStroke(MOD_CONTROL_LEFT + MOD_SHIFT_LEFT + KEY_ENTER);
должен стать:
DigiKeyboard.sendKeyStroke(KEY_ENTER, MOD_CONTROL_LEFT + MOD_SHIFT_LEFT);`
Вы можете использовать этот код:
Пояснение кода
Открывает боковое меню, затем ищет CMD, затем щелкает его правой кнопкой мыши, чтобы открыть его от имени администратора. Появится окно Открыть от имени администратора Да или Нет Он перейдет к кнопке Да
DigiKeyboard.sendKeyStroke(0, MOD_GUI_LEFT);
DigiKeyboard.delay(1500);
DigiKeyboard.print("c;d");
DigiKeyboard.delay(1500);
DigiKeyboard.sendKeyStroke(KEY_ENTER, MOD_CONTROL_LEFT | MOD_SHIFT_LEFT);
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.sendKeyStroke(KEY_ARROW_LEFT);
DigiKeyboard.delay(500);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
Пожалуйста, дополните свой ответ: исправьте опечатку в «cmd». Добавьте несколько слов, которые отличаются от существующего кода., @the busybee
- Связь последовательного порта Digispark
- Библиотеки I2C для ATTiny85?
- Можно ли подключить экран SD-карты к плате Digispark ATtiny85?
- Почему DigiSpark не распознается автоматически на других компьютерах?
- Digispark ATtiny 85 - не распознается как HID устройство
- Клавиатура Digispark ATtiny85
- Почему DigiKeyboard.print и println меняют строку?
- Компьютер не обнаруживает DigiSpark attiny85
И почему вы думаете, что это откроет CMD в режиме администратора?, @sempaiscuba