Съдържание:

Клавиатура на Морзов код: 5 стъпки
Клавиатура на Морзов код: 5 стъпки

Видео: Клавиатура на Морзов код: 5 стъпки

Видео: Клавиатура на Морзов код: 5 стъпки
Видео: #shorts #азбука #морзе #беги #свет 2024, Юли
Anonim
Клавиатура на Морзов код
Клавиатура на Морзов код

Тази програма ви показва как да създадете c ++ програма, която използва подход за запис на ключове, за да намери натиснатия ключ и да генерира стойността на азбуката на Морз чрез използването на светлината за заключване на превъртане на клавиатурата (кой дори използва това?). Този проект се състои от 41 различни програми, които се преплитат и безпроблемно си взаимодействат, превеждайки 3 езика между програмите. В тази таблица няма много снимки, тъй като проектът се основава изцяло на компютърен код. За този проект ще ви трябват: Клавиатура със светлинен ключ за заключване Notepad Нещо, което може да компилира c ++ код (използвах CodeBlocks)

Какво направи? Направих c ++ програма, която превежда натисканията на клавиши в азбука на Морз чрез използването на програми за скрипт vb, които направих. Как успя? Прекарах доста време в проучване на c ++, азбука на Морз и vb скрипт, тъй като и аз не знаех и след известно време имах необходимите знания, за да направя тази програма. Прекарах няколко часа след проучването, за да разработя проста програма за натискане на клавиш, а след това направих още някои изследвания за отваряне на програми и стартиране на програми във фонов режим (неоткриваемо). Използвах тези методи, за да създам c ++ програма, която да работи, без да прекъсва потребителя или да заема място на екрана (тя работи във фонов режим). Направих и партиден файл, който убива програмата c ++, когато потребителят приключи с него. Къде го направихте? Направих тези програми на семейния компютър у дома, като намерих време, когато други членове на семейството не трябваше да използват компютъра. Какво научихте? В хода на този проект научих почти 3 нови езика и развих способността да накарам тези езици да „комуникират“помежду си. Научих също сложностите, които идват с различните езици, и как да заобикалям грешките и бъговете (бях принуден да използвам мозъка си … да мисля …).

Стъпка 1:.vbs файлове (създаване)

.vbs файлове (съдържание-букви)
.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 ++ кодът

Кодът на C ++
Кодът на 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 през процесите

Препоръчано: