Pixel einlesen & Eingabeeinheit manipulieren.
-
Hi Leute.
Schon ne Weile her, als ich das letzte mal da war :D.
Habe mittlerweile mit ASM angefangen und habe folgende Frage:
Wie kann ich unabhängig von jeglichen anderen Vorgängen einzelne Pixel einlesen und diese mit einer best. vordefinierten kombination von Pixeln mit einem ebenfalls vordefinierten RGB/Hex-Farbcode Vergleichen? Sofern dann die beiden Werte (Also der zu vergleichende Wert und der vordefinierte Wert) übereinstimmen soll auf die Eingabeeinheit zugegriffen und diese dann manipuliert werden. Wobei ich hier ebenfalls keine Ahnung habe wie ich das realisieren kann und ob das überhaupt möglich ist.
Zum Verständniss meiner Frage hier ein kleines Beispiel eines solchen Programms:Sobald ich mit dem Courser auf einen bestimmten bereich auf meinem Bildschirm zeige wird im Notepad (welches bereits geöffnet sein muss) ein Text "eingetippt", was zumindest der Computer zu glauben scheint. Das heisst also, das anstelle eines Hardwareinterrupts durch die Tastatur (Wenn ich z.B: Die Taste "A" auf meiner Tastatur drücke gelangt diese Information ja von Eingabeeinheit eingelesen und im Speicher abgelegt bis sie der CPU bearbeitet)durch ein Softwareinterrupt die Eingabeeinheit simuliert wird und dem Speicher den selben Befehl sendet wie wenn ich beispielsweise die Taste "A" drücke.
Ein solches Programm macht zwar kaum einen Sinn und würde sich sicherlich auf eine ganz andere Weise viel einfach realisieren lassen. Es soll lediglich dazu dienen, meine Frage etwas besser zu verstehen ;).
MfG Sämi
P.s: Danke schonmal im Voraus für die Antwort und ich hoffe wie immer auf eine baldige Antwort da ich nur noch diese Woche Ferien habe :D.
-
Oookkkk... Etwas umstaendlich formuliert, aber ich glaube verstanden zu haben, worauf du hinauswillst. Was ich dagegen nicht verstanden habe ist, was das mit Assembler zu tun hat. Alle diese Funktionalitaeten kannst du AFAIK ziemlich problemlos auch in einer Hochsprache deiner Wahl ueber die WinAPI implementieren.
-
Nun gut, ich bin mal davon ausgegangen das meine Formulierung nur schwer Verständlich bzw. Umständlich ist :D. Allerdings bin ich mit den Fachbegriffen aus der Programmierung noch zu wenig bewannt, um dies korrekt zu formulieren.
Evtl. kann mich jemand etwas korrigieren.
Soweit so gut, es mag gut möglich sein, dass dies auch in modernen Hochsprachen ebenfalls möglich ist und u.U. auch einfacher zu realisieren ist.
Da ich mich zur Zeit jedoch mit ASM auseinandersetze würde ich sowas hald gerne in ASM machen. Sofern ein solcher Code nicht zu viel Aufwand gibt würde ich mich durchaus über einen Beispielcode freuen, allerdings eben nur wenn er nicht zu aufwändig ist.MfG Sämi
-
Sry, wenn du dich wegen meiner Kritik an deiner Formulierung leicht auf den Schlips getreten fuehlst. War nicht so gemeint. Jedenfalls brauchst du deshalb jetzt nicht so gestelzt sprechen.
Einen Beispielcode habe ich gerade leider nicht zur Hand, aber mein Tipp waere:
Schau dir eines der Win32-Tutorials aus der Assembler-FAQ an (bzw. such selber noch weitere - gibt inzwischen schon ein paar) und wenn du meinst es halbwegs verstanden zu haben, hol dir die noetigen Infos und Funktionen aus der msdn, bzw. dem WinAPI-Forum. Die entsprechenden Beispielcodes, Funktionsaufrufe, etc. lassen sich idR. sehr leicht sofort nach Assembler uebertragen.Sonst noch allgemein zur Assembler-Programmierung in Windows:
WinAPI-Programmierung in Assembler ist oft entweder eklig (viele banale mov/stack-Operationen um Strukturen zu initialisieren oder Funktionen aufzurufen), oder hat an sich kaum noch was mit Assembler zu tun. zB. sieht WinAPI-Code in MASM gern mal fast schon aus wie Basic mit call, if/else-Bloecken, usw.
Wenn du also Assembler ueben willst, wuerde ich eher zu DOS-Programmen oder Projekten in Richtung eigenes kleines OS raten...
-
Nobuo T schrieb:
Sry, wenn du dich wegen meiner Kritik an deiner Formulierung leicht auf den Schlips getreten fuehlst. War nicht so gemeint. Jedenfalls brauchst du deshalb jetzt nicht so gestelzt sprechen.
Nein, nein, ich fühlte mich nicht auf den Schlips genommen ;).
Ich wollte mich auch nicht gestelzt ausdrücken sondern eher einsichtig, da ich schon von anfang an befürchtet habe, dass ich den Text viel zu komplex formuliert habe. Ist also nichts gegen dich, ganz im Gegenteil :).MfG Sämi