Seite 7 von 9

Verfasst: 24.05.2007 17:35
von DarkDragon
Tafkadasom2k5 hat geschrieben:SetWindowsHookEx
:? Kann man damit neuerdings auch API Hooks veranslassen? :?

Sorry, aber mit SetWindowsHookEx schaffst du es allerhöchstens einen Tastatur/Maus Hook oder WM Hook aufzustellen, aber doch keinen API Hook. Desshalb gibt es ja RemoteAPI (Local Hooks) und Rootkits (Global Hooks). :wink:

Verfasst: 24.05.2007 17:37
von Andreas_S
Aso...

Das wusste ich nicht. Entweder es steht nicht in der Hilfe oder ich habs überlesen.


//Edit: Bevor ichs vergesse...

:allright: Danke :allright:

Verfasst: 24.05.2007 18:32
von Tafkadasom2k5
DarkDragon hat geschrieben:
Tafkadasom2k5 hat geschrieben:SetWindowsHookEx
:? Kann man damit neuerdings auch API Hooks veranslassen? :?
Das habe ich nie gesagt, es geht ums Grunprinzip vorerst...

Verfasst: 24.05.2007 19:12
von Andreas_S
Ich habe einmal die Variablen im CodeArchiv gesehen, und hab mir das noch einmal angesehen aber ich weiß nicht was ich mit welcher Variable vergleichen muss um zB. die Taste K zu hooken.
Die dazugehörigen wParams und lParams stehen in (wie sollte es anders sein Wink ) in lParam und wParam.
Was repräsentieren die Variablen noch schnell?

Verfasst: 24.05.2007 20:52
von uweb
Es geht nicht nur um das "Danke". Es wäre nett wenn Du das was die Leute Dir schreiben komplett lesen und in Deinen Posts darauf eingehen würdest. Das einzige was mich veranlasst Dir immer noch helfen zu wollen ist Dein "Größenwahnsinn". Du erinnerst mich da ein wenig an mich vor gar nicht langer Zeit.
http://www.purebasic.fr/german/viewtopi ... e&start=10 Allerdings war ich bereit Zeit, Schweiß und Geld zu investieren um etwas zu lernen. Frust gehört übrigens dazu. Wenn Du dazu bereit und ein Steh-Auf-Mänchen bist ist es kein Fehler große Ziele zu haben.

Alle haben versucht Dir zu helfen aber keiner will es Dir abnehmen auf eigenen Füßen zu laufen. Kennst Du den Spruch "Der Weg ist das Ziel" ? Also versuche doch erst einmal die Tipps zu verarbeiten, recherchiere die Antwort auf Deine Fragen zunächst selbst (PB-Hilfe, Forum, Code-Archiv, Goggle - lesen und verstehen - nicht nur Copy & Paste) und freue Dich wenn es klappt. Wenn nicht wird man Dir danach sicher viel lieber helfen.

Neben dem Tipp mit dem Buch (aus dem sich für Dich 1000 neue Fragen ergeben werden, die ihrerseits dann wieder neuer Fragen aufwerfen) habe ich Dir auch einige Suchbegriffe geliefert. Hier http://www.codingcrew.de/programmierung/win32hlp.php findest Du noch eine wichtige Quelle für Deine zukünftigen Recherchen.

PS Filtertreiber und globale Hooks werden in dem Buch auch behandelt. Ich für meinen Teil habe aber beschlossen nicht sooo tief hinein zu tauchen. Wie gesagt der Hook soll ja auch eine Aufgabe erfüllen und je tiefer man eintaucht um so schwieriger wird dann auch das.

Verfasst: 24.05.2007 21:41
von Andreas_S
Also denn Spruch kenn ich nicht "Der Weg ist das Ziel" aber er ist einleuchtend. Das Buch werd ich mir höchtwarscheinlich bestellen. So, und nun such ich mal nach der Variable im CA...

Danke :allright: !

Verfasst: 24.05.2007 21:54
von Andreas_S
Ahhh, da ist es ja...

Code: Alles auswählen

Main = OpenWindow(1, 0, 0, 320, 200, #PB_Window_MinimizeGadget, "My Form")

Repeat
  Event=WindowEvent()
  If Event=256 ;Keypress detected
    kk=EventwParam() ;Value of the key in ascii
  EndIf
  If kk=27 ;if ESC key is pressed, terminate application
    End
  EndIf
  
  Delay(1) ;don't take all CPU power
ForEver
>>EventwParam() ;Value of the key in ascii<<
Also wenn das ein ASCII-Wert ist dann ist es nicht so schwer

Code: Alles auswählen

Global hook
Global Quit


Procedure HookProc(nCode.l,wParam.l,lParam.l)
  If nCode=#HC_ACTION
   If wParam=Asc("ESC")
    MessageRequester("","")
    Quit=1
   EndIf
  EndIf
 ProcedureReturn CallNextHookEx_(hook,nCode,wParam,lParam)
EndProcedure


hInstance=GetModuleHandle_(0)
hook=SetWindowsHookEx_(#WH_KEYBOARD_LL,@HookProc(),hInstance,0)


Repeat
 
 Delay(1)
Until Quit=1
warum aber funktioniert das nicht? Wenn man ein Debug oder einen MessageRequester in die Procedure schreibt sollte doch immer was ausgegeben werden wenn man ein Keyboard-Event durchführd.

Verfasst: 24.05.2007 22:24
von Tafkadasom2k5
Das Erste was mir gerade so ausm Stehgreif einfällt: Probiere es mal lieber mit ASC("A") oder so. Bin mir gerade nicht sicher, ob ESC als ASCII geht. Aber ich schaue morgen nochmal in aller Seelenruhe. Werde jetzt ersteinmal schlafen.

Übrigends: "Der Weg ist das Ziel" ist auch das Motto beim Ten-Sing, und es ist eine unglaubliche Erfahrung, wenn man geschnallt hat, wieviel Wahres, und vor Allem Wichtiges hinter diesem Satz steht.
Wenn man das alles als Mitarbeiter beim TenSing so mitbekommt, sieht, wie sich Leute dadurch entfalten und entwickeln, dann merkt man erst, wieviel da eigentlich hintersteckt, und was das Ausleben dieses Mottos für grundlegende Veränderungen mit sich führen kann.

(Im Übrigen wird das "christliche", was in dem Artikel übers TS steht, nicht derbst bei uns praktiziert. Es gehört mit dazu, aber es gibt auch viele ohne Konfession in dieser Gruppe. Es ist nicht gefdacht, jemanden zu belehren oder jemanden zu "fangen". Nicht das das jemand als Sekte falsch versteht- zumindest in unserer Gruppe nicht ;) )

Verfasst: 24.05.2007 22:26
von Kaeru Gaman
> Bin mir gerade nicht sicher, ob ESC als ASCII geht.

ESC = Chr(27)

...sowas weiß man einfach... ;)

Verfasst: 24.05.2007 22:28
von Tafkadasom2k5
Kaeru Gaman hat geschrieben:> Bin mir gerade nicht sicher, ob ESC als ASCII geht.

ESC = Chr(27)

...sowas weiß man einfach... ;)
Ja, DAS weiß ich wohl, aber ob ASC("ESC") auch 27 ausspuckt, weiß ich nicht ;)
Kann ja auch sein, dass er bei "mehreren Buchstaben" das als Fehleingabe interpretiert, oder nur den Ersrten Buchstaben gelten lässt, oder gar alle aufaddiert. (Okay, letzteres wäre sinnfrei, aber wer weiß :D)