SA:MP Keybinder [V 1.1]

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo, da ich mich im Moment mit C# beschäftige habe ich mich mal versucht, 'nen Keybinder in C# zu schreiben. Naja, dadurch ist dann dieser Keybinder hier rausgekommen und da ich denke, dass man ihn vielleicht gebrauchen kann, veröffentliche ich ihn hier.


    Features:

    • 22 Tasten zum Belegen (F1 - F12; 0 - 9) * + Hotkey zum Aus-/Einschalten der Hotkeys (linke STRG-Taste)
    • Speichern/Laden-Funktion
    • Einstellmöglichkeiten wie z. B. ob "Enter" nach Druck des Hotkeys automatisch gedrückt werden soll
    • simple Bedienung


    *Die F-Tasten habe ich deshalb eingebaut, weil der Keybinder die eigentliche Funktion der F-Tasten in SA:MP "blockt". Das heißt, dass wenn man eine Textnachricht auf F8 eingestellt hat, diese erscheint, allerdings wird kein Screenshot erstellt. Wenn man den Hotkey (also in diesem Fall F8) dann deaktiviert, kann man weiterhin Screenshots machen.


    Hier noch ein Screen:


    Bugs:
    - Momentan keine bekannt


    Zum Ausführen braucht ihr das .NET Framework 3.5.


    Downloads:
    Version 1.0
    Version 1.1


    Für Schäden übernehme ich keine Haftung. Das war's dann auch schon o.o

  • saubere arbeit, gleich mal gedownloadet.


    Ähm könnt ihr das villt noch einbauen, dass man wenn man minimiert, das Programm zum kleinen Symbol minimiere kann? xD..so unten wie die ICQ Blume z.B.
    Das wär echt cool

    Nicht mehr so viel Zeit für den Computer.
    schreibt mir ne PN oder ne Mail
    :)

  • Freut mich, dass er euch gefällt :) Das mit dem Trayicon (also das was N!ck) gesagt hat werde ich in den nächsten Tagen mal machen.

    Ja das freut mich :)...
    Bitte sofort wenn dus gemacht hast hier reinposten :D ty

    Nicht mehr so viel Zeit für den Computer.
    schreibt mir ne PN oder ne Mail
    :)

  • ^^ Sowas hab ich auch schon in Basic gemacht ^^


    Jo ist net so schwer son KeyBinder zu machen aber gute arbeit :thumbup:

  • @Flip: Ich habe auch mal einen Keybinder in Visual Basic gecodet. Damit ist es sicherlich recht einfach. In C# war das dann doch ein kleines wenig schwerer, da man dafür globale Hooks verwenden muss, was ich doch etwas komplizierter fand (die Hotkeys musste man dann "unhooken", wenn der Nutzer sie deaktiviert hat und so'n Quatsch ... o.o)

  • @Flip: Ich habe auch mal einen Keybinder in Visual Basic gecodet. Damit ist es sicherlich recht einfach. In C# war das dann doch ein kleines wenig schwerer, da man dafür globale Hooks verwenden muss, was ich doch etwas komplizierter fand (die Hotkeys musste man dann "unhooken", wenn der Nutzer sie deaktiviert hat und so'n Quatsch ... o.o)


    Wenn du es in VB.Net geschrieben hast, ist es 1:1 das selbe in C#.
    Die Sprachen setzten auf die selbe Engine. ;)

  • DMA: Eigentlich nicht? Weil bei VB.NET verwendet man bzw. verwendete ich aufjedenfall GetAsyncKeyState(). Diese Funktion funktioniert auch ganz gut. In C# funktioniert die Funktiongh dann aber nur, wenn die Anwendung den Fokus hat. Wenn ich also GTA San Andreas spiele und dann einen Hotkey abfrage, kommt das Signal nicht an, weil der Keybinder dann ja nicht mehr im Fokus ist. Dafür braucht man in C# diese Hooks, die ich in VB.NET nicht gebraucht habe. Aber naja, wichtig ist, dass das Programm vernünftig läuft und nicht, wie das Programm dann letztendlich gecodet wurde...


    BTT xP:
    Ich hab' nun das Trayicon hinzugefügt. Mit einem Rechtsklick öffnet sich ein Menü, indem ihr den Keybinder Beenden, Minimieren und Öffnen könnt. Momentan ist das Menü noch nicht ganz so notwendig, allerdings wird es in den nächsten Versionen vielleicht eine etwas wichtigere Rolle spielen. Ihr könnt das Programm auch öffnen, wenn ihr einen Doppelklick aufs Icon macht. Außerdem habe ich noch die Auswahl links etwas abgeändert, damit der vertikale Scrollbalken nicht erscheint. Downloaden könnt ihr die neue Version hier.

  • DMA: Eigentlich nicht? Weil bei VB.NET verwendet man bzw. verwendete ich aufjedenfall GetAsyncKeyState(). Diese Funktion funktioniert auch ganz gut. In C# funktioniert die Funktiongh dann aber nur, wenn die Anwendung den Fokus hat. Wenn ich also GTA San Andreas spiele und dann einen Hotkey abfrage, kommt das Signal nicht an, weil der Keybinder dann ja nicht mehr im Fokus ist. Dafür braucht man in C# diese Hooks, die ich in VB.NET nicht gebraucht habe. Aber naja, wichtig ist, dass das Programm vernünftig läuft und nicht, wie das Programm dann letztendlich gecodet wurde...


    Man muss in der WinAPI immer den Fokus auf das Window Handle setzten. Ox'
    Ohne würde der Fokus logischerweise auf das jetztige Programm schauen.
    GetAsyncKeyState() sammelt von allen Handle's die Tastendrücke.
    GetKeyState() nur das vom Fokus.
    Sicher das du nicht GetKeyState() verwendet hast. ;)


    Bzw. VB kann auch nicht hellsehen. *g