Seite 1 von 1

Hook

Verfasst: Freitag 27. Januar 2017, 20:27
von pykrone
Hallo

Kann mir einer erklären wie genau so ein hook abläuft ?
ich erwarte keinen Code sondern eher wie der Ablauf ist.

Muss das Programm das sich in ein anderes hängen will in dessen speicher sein ?
Wie sage ich Python das ich in den Speicher schreiben will ?
Gibt es Befehle die hex Adressen benutzen. z.B. Python schreib oder lese in Adresse 0x5A4F3

Sagen wir mal ich habe Notepad geöffnet und ich möchte ein Python programm schreiben, dass erkennt, wenn etwas in Notepad geschrieben wird.
Oder auch anders herum, dass ich mit dem Python Programm in das geöffnete Notepad schreiben kann.

Re: Hook

Verfasst: Freitag 27. Januar 2017, 20:32
von noisefloor
Hallo,
Kann mir einer erklären wie genau so ein hook abläuft ?
Was verstehst du unter "so ein hook" genau? Das geht aus deinem Post nicht hervor bzw. bleibt ziemlich unklar.
Sagen wir mal ich habe Notepad geöffnet und ich möchte ein Python programm schreiben, dass erkennt, wenn etwas in Notepad geschrieben wird.
Das funktioniert nicht so ohne weiteres. Dazu müsste das entsprechende Programm eine entsprechende Schnittstelle bereit stellen.
Oder auch anders herum, dass ich mit dem Python Programm in das geöffnete Notepad schreiben kann.
Siehe oben.

Was hast du denn vor bzw. worauf zielt die Frage eigentlich ab?

Gruß, noisefloor

Re: Hook

Verfasst: Freitag 27. Januar 2017, 20:44
von BlackJack
@pykrone: Die Fragen sind alle ein bisschen komisch. Was ist denn bitte „so ein Hook“? Python kennt den Begriff nicht soweit ich weiss. Weder die Sprache noch irgend etwas aus der Standardbibliothek heisst so, also wovon reden wir hier eigentlich?

Grundsätzlich sagt man Python erst einmal nicht das irgendetwas in den Speicher geschrieben soll, das ist höchstens eine Folge von den Sachen die man Python sagt die es *eigentlich* tun soll. *Wo* das im Speicher passiert ist uninteressant, darum kümmert sich Python's Laufzeitumgebung.

Es gibt keine Hex-Adressen. (Speicher)Adressen werden durch Zahlen beschrieben. Zahlen *kann* man in Hexadezimalschreibweise darstellen. Muss man aber nicht. Literale ganze Zahlen kann man in Python auch hexadezimal schreiben. Wenn man eine Zahl zur Laufzeit in einer Hexadezimalform darstellen möchte, muss man sie in eine Zeichenkette umwandeln, entweder mit der `hex()`-Funktion oder den entsprechenden Formatoptionen bei Zeichenkettenformatierung mittels `format()`-Funktion oder -Methode (auf Zeichenketten) oder dem ``%``-Operator auf Zeichenketten.

Ob und wie man erkennen kann ob in Notepad etwas geschrieben wurde weiss ich nicht.

Um in anderen (grafischen) Anwendungen Benutzerinteraktion zu simulieren gibt es Bibliotheken.