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).

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...

Danke

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

!
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ß

)