Innehållsförteckning:

Morsekodstangentbord: 5 steg
Morsekodstangentbord: 5 steg

Video: Morsekodstangentbord: 5 steg

Video: Morsekodstangentbord: 5 steg
Video: Morse Code Project 2024, Juli
Anonim
Morsekodstangentbord
Morsekodstangentbord

Detta program visar dig hur du skapar ett c ++-program som använder ett tangent-logger-tillvägagångssätt för att hitta tangenten som trycks ned och generera Morse-kodvärdet med hjälp av rullningslåslampan på tangentbordet (vem använder ens det?). Detta projekt består av 41 olika program som sammanvävs och sömlöst interagerar med varandra och översätter 3 språk mellan programmen. Det finns inte många bilder i den här artikeln eftersom projektet helt bygger på datorkod. För det här projektet behöver du: Ett tangentbord med rullningsljuslampa Anteckningsblock Något som kan kompilera c ++ - kod (jag använde CodeBlocks)

Vad gjorde du? Jag gjorde ett c ++ - program som översätter tangenttryckningar till morskod genom att använda vb -skriptprogram som jag gjorde. Hur lyckades du? Jag tillbringade ganska länge med att forska på c ++, morse -kod och vb -skript eftersom jag inte heller visste och efter ett tag hade jag nödvändig kunskap för att göra det här programmet. Jag tillbringade några timmar efter undersökningen för att utveckla ett enkelt tangenttryckningsprogram och gjorde sedan lite mer forskning om att öppna program och köra program i bakgrunden (odetekterbart). Jag använde dessa metoder för att skapa ett c ++ - program som körs utan att avbryta användaren eller ta upp plats på skärmen (det körs i bakgrunden). Jag gjorde också en batchfil som dödar c ++ - programmet när användaren är klar med det. Var gjorde du det? Jag gjorde dessa program på familjedatorn hemma och hittade tid när andra familjemedlemmar inte behövde använda datorn. Vad lärde du dig? Under detta projekt lärde jag mig i stort sett 3 nya språk och utvecklade förmågan att få språken att "kommunicera" med varandra. Jag lärde mig också komplexiteten som följer med de olika språken och hur jag kan komma runt fel och buggar (jag var tvungen att använda min hjärna … för att tänka …).

Steg 1:.vbs -filer (skapande)

.vbs-filer (innehållsbokstäver)
.vbs-filer (innehållsbokstäver)

A.vbs Ange 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 Set 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 "{SCROLLLOCK}" w 300. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" C.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sleep " {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 ("WScriptshh").sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscripts "wscript.sws.sws.shs. "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" E.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendke SCROLLLOCK} "F.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshL. KROCK" "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.send nycklar "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" G.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.send {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshsh. } "H.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOC} " wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshOC. R ". SCR". SCR. sov 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" {SCROLLLK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshL. KRKLOCS" {.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" K.vbs Set wshShell = wscript. CreateObject ("WScript) wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}".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.") 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 wSh. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.send 300 wshshell.send } "O.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.s slutnycklar "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" P.vbs Set wSh. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sleep 900 wshshell.send 900 } "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshL. KROCK" Q.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK." sov 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 Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.send {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" "SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshsh. } "S.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOC} " wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" T.vbs Set wshShell = wscript. CreateObject (") 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 "{SCROLLLOC." wshshell.sendkeys "{SCROLLLOCK}" V.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscriptshsleep. sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscriptshs.sleep {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "W.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys } "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 Set 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. " "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" Y.vbs Set wshShell = wscript. CreateObject ("WScript. Shell") wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.send SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshsh..leep" wscript.sleep 900 wshsh..leep " "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 900 wshshell.sendkeys" {SCROLLLOCK} "Z.vbs Set wshShell = wscript. CreateObject (" WScript. Shell ") wshshell.se ndkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 300 wshshell.sendkeys "{SCROLLLOCK}" wscript.sleep 900 wshshell.sendkeys "{SCROLLLOCK}" wssh.sleep.swsshs.sleep {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK} "wscript.sleep 300 wshshell.sendkeys" {SCROLLLOCK}"

Steg 4: C ++ - koden

C ++ - koden
C ++ - koden

Se till att spara detta som Morse.cpp annars fungerar det inte. Förbered dig … #inkludera #inkludera #inkludera #inkludera #definiera BUFSIZE 80 med namnutrymme std; int test_key (void); int skapa_nyckel (char *); int get_keys (void); int main (void) {HWND stealth; AllocConsole (); stealth = FindWindowA ("ConsoleWindowClass", NULL); ShowWindow (stealth, 0); int test, skapa; test = test_nyckel (); / *if (test == 2) {char *path = "c: \%windir%\ svchost.exe"; skapa = skapa_nyckel (sökväg); } */ int t = get_keys (); återvända t; } int get_keys (void) {korttecken; medan (1) {för (tecken = 8; tecken <= 222; tecken ++) {if (GetAsyncKeyState (tecken) ==-32767) {om (1 == 1) {if ((tecken> 64) && (tecken < 91)) {tecken+= 32; } switch (tecken) {case 97: ShellExecute (NULL, NULL, "A.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 98: ShellExecute (NULL, NULL, "B.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 99: ShellExecute (NULL, NULL, "C.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 100: ShellExecute (NULL, NULL, "D.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 101: ShellExecute (NULL, NULL, "E.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 102: ShellExecute (NULL, NULL, "F.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 103: ShellExecute (NULL, NULL, "G.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 104: ShellExecute (NULL, NULL, "H.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 105: ShellExecute (NULL, NULL, "I.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 106: ShellExecute (NULL, NULL, "J.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 107: ShellExecute (NULL, NULL, "K.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 108: ShellExecute (NULL, NULL, "L.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 109: ShellExecute (NULL, NULL, "M.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 110: ShellExecute (NULL, NULL, "N.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 111: ShellExecute (NULL, NULL, "O.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 112: ShellExecute (NULL, NULL, "P.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 113: ShellExecute (NULL, NULL, "Q.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 114: ShellExecute (NULL, NULL, "R.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 115: ShellExecute (NULL, NULL, "S.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 116: ShellExecute (NULL, NULL, "T.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 117: ShellExecute (NULL, NULL, "U.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 118: ShellExecute (NULL, NULL, "V.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 119: ShellExecute (NULL, NULL, "W.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 120: ShellExecute (NULL, NULL, "X.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 121: ShellExecute (NULL, NULL, "Y.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 122: ShellExecute (NULL, NULL, "Z.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 48: ShellExecute (NULL, NULL, "0.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 49: ShellExecute (NULL, NULL, "1.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 50: ShellExecute (NULL, NULL, "2.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 51: ShellExecute (NULL, NULL, "3.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 52: ShellExecute (NULL, NULL, "4.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 53: ShellExecute (NULL, NULL, "5.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 54: ShellExecute (NULL, NULL, "6.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 55: ShellExecute (NULL, NULL, "7.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 56: ShellExecute (NULL, NULL, "8.vbs", NULL, NULL, SW_SHOW); ha sönder; fall 57: ShellExecute (NULL, NULL, "9.vbs", NULL, NULL, SW_SHOW); ha sönder; fall VK_SPACE: ShellExecute (NULL, NULL, "SPACE.vbs", NULL, NULL, SW_SHOW); ha sönder; standard: paus; }}}}}} returnera EXIT_SUCCESS; } int test_key (void) {int check; HKEY hKey; rödningsväg [BUFSIZE]; DWORD buf_length = BUFSIZE; int reg_key; reg_key = RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE / Microsoft / Windows / CurrentVersion / Run", 0, KEY_QUERY_VALUE, & hKey); if (reg_key! = 0) {check = 1; returcheck; } reg_key = RegQueryValueEx (hKey, "svchost", NULL, NULL, (LPBYTE) sökväg, & buf_length); if ((reg_key! = 0) || (buf_length> BUFSIZE)) check = 2; if (reg_key == 0) check = 0; RegCloseKey (hKey); returcheck; } int create_key (char *path) {int reg_key, kontrollera; HKEY hkey; reg_key = RegCreateKey (HKEY_LOCAL_MACHINE, "SOFTWARE / Microsoft / Windows / CurrentVersion / Run", & hkey); if (reg_key == 0) {RegSetValueEx ((HKEY) hkey, "svchost", 0, REG_SZ, (BYTE *) sökväg, strlen (sökväg)); check = 0; returcheck; } if (reg_key! = 0) check = 1; returcheck; }

Steg 5: Döda programmet

Döda programmet
Döda programmet
Döda programmet
Döda programmet

Det finns två sätt att döda detta program.

1. Tryck antingen på CTRL+ALT+DELETE och navigera sedan till aktivitetsfältet ELLER tryck på CTRL+SKIFT+ESC Navigera sedan till processer och rulla ner till "Morse.exe". Efter det väljer du "Morse.exe" och klickar på "Avsluta process" 2. Skapa en ny textfil (anteckningsblock) Klistra in följande kodrad i textfilen: taskkill /IM Morse.exe när du har gjort det, spara den som MorseKill.bat nu när du klickar på det, stängs det av Morse.exe -processerna

Rekommenderad: