Français
Forum

Hotkeys programmübergreifend?

 
Guten journée!

je suis großer ami qui Programmiersprachen XProfan sowie Autohotkey (AHK).
Letztens hat sich mir qui Frage gestellt, si pas aussi dans XProfan un Befehl integriert ist, avec qui on Hotkeys programmübergreifend belegen peux (ähnlich comment dans AHK, wohin z.B. #n::Run Notepad  cela Notepad startet ou bien allô::Tschüss  cela mot "Hallo" komplett programmübergreifend par cela mot "Tschüss" ersetzt).
Gibt es là un XProfanes Äquivalent? si pas allzu compliqué, volontiers aussi une ähnliche Funktion aus qui Windows API

déjà la fois vielen Dank im Vorraus,
Vincent.
 
22.01.2011  
 



je ne sais pas oui c'est ca quoi Du vouloir mais vlt. meinst Du quelque chose comme:
KompilierenMarqueSéparation
cls

while 1

    if iskey(123)

        while iskey(123)

        wend

        sendString(0,"Hallo Welt")

    endif

22.01.2011  
 



oui, cela venez qui ganzen l'affaire déjà très proche, vielen Dank
quoi allerdings muss je 1faire, si je beispielsweise ganze Wörter ersetzen voudrais? D.h., si je im Editor ou bien aussi dans irgendeinem anderem Programme un "Hallo Welt" pas avec einem F12, sindern avec qui Eingabe eines ganzen Wortes provozieren voudrais?

alors si je beispielsweise cela mot "Klaus" eingebe et voudrais, dass cet mot ensuite par "Hallo Welt" ersetzt wird?
alors cela anstatt des Wortes "Klaus" ensuite "Hallo Welt" erscheint bzw. transfert wird?
 
22.01.2011  
 



c'est aussi ne...aucune Problem, j'ai Dir hierfür la fois un Construire aufbereitet.

Du musst pour mais stark son ^ ^ -

Du musst dans Deiner IDE XPSE  [...]  comme Kompiler angeben qui den Code quelque chose vorbereitet et ensuite à XProfan weitergibt:
KompilierenMarqueSéparation
 {$cleq}
cls
userMessages wm_user+1234
initMyHook()
var try$=""
var myListFrom&=create("list",0)
var myListTo&=create("list",0)
addString(myListFrom&,"HALLO WELT")
addString(myListTo&,"Klaus")
addString(myListFrom&,"KLARO")
addString(myListTo&,"Prima!")

while 1

    waitInput

    select uMessage

        caseof wm_user+1234

        if &ulParam=128

            ifnot &uwParam=160

                if ((&uwParam>64) and (&uwParam<91)) or (&uwParam=32)

                    try$=try$+chr$(&uwParam)
                    case ord(try$)=32 : try$=del$(try$,1,1)
                    case right$(try$,2)="  " : try$=del$(try$,len(try$),1)

                    if len(try$)

                        if getString$(myListFrom&,selectString(myListFrom&,-1,try$))=try$

                            whileLoop len(getString$(myListFrom&,getCurSel(myListFrom&)))

                                sendKey(0,vk_back)

                            wend

                            sendString(0,getString$(myListTo&,getCurSel(myListFrom&)))
                            try$=""

                        endif

                    endif

                else

                    try$=""

                endif

            endif

        endif

    endSelect

wend

nProc initMyHook

    return SetWindowsHookEx(13,procAddr(myLowLevelKeyboardHookProc),getModuleHandle(0),0)/*WH_KEYBOARD_LL*/

endProc

nProc myLowLevelKeyboardHookProc

    parameters code&,wParam&,lParam&
    sendMessage(hWnd,wm_user+1234,long(lParam&,0),long(lParam&,8))
    return 0

=s4 href='./../../funktionsreferenzen/XProfan/endproc/'>endProc


ici wird un LowLevel-Keyboard-Hook injiziert -

si Du irgendwo "HALLO WELT" tippst ensuite wird "Klaus" eingefügt bzw. aus "KLARO" wird "Prima!".

à peine getestet hingewürfelt mais es funzt chez mir Schonmal...

Um Dein XProfan XPSE-Fit trop faire simple xpse.exe, jwasm.exe et polink.exe de  [...]  herunterladen et ins XProfan-Verzeichnis kopieren et dans qui IDE chez Kompiler qui xpse.exe angeben.

1.206 kB
Hochgeladen:22.01.2011
Downloadcounter123
Download
 
22.01.2011  
 



oui super, vielen Dank! Schaue mir cela demain la fois genauer à
 
22.01.2011  
 



de rien - fand je aussi plan intéressant.
 
22.01.2011  
 



So, hab cela ganze la fois getestet, funktioniert alles super, vielen Dank nochmal!
Allerings c'est moi aufgefallen, dass avant allem cela erste Beispiel unheimlich viel CPU-Leistung usé. Habe la fois un Waitinput ergänzt - ensuite ging zwar qui CPU-Auslastung pour unten, cela Programme reagierte ensuite mais seulement encore sur cela isKey, si cela XProfan-la fenêtre aussi wirklich offen était, pas, si es z.B. minimiert wurde.
Gibt's là une Trick, qui CPU-Auslastung possible large unten trop tenir?
 
23.01.2011  
 



cela 2. Beispiel usé 0% CPU, cela 1. Beispiel dagegen im Prinzip "100%".

cet variante pourrait aussi "nichts" dépenser:
KompilierenMarqueSéparation
 {$cleq}
cls

while 1

    sleep 100

    if getAsyncKeyState(123)

        while getAsyncKeyState(123)

            sleep 50

        wend

        sendString(0,"Hallo Welt")

    endif

Wend

 
23.01.2011  
 




Jörg
Sellmeyer
Wahrscheinlich reicht sogar un Sleep 1. Ab XProfan 11 allez aussi "WaitInput 1".
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.01.2011  
 



Dank getAsyncKeyState reichen 10 Überprüfungen pro seconde et 1000 (theoretische) Überprüfungen pro seconde faire imho keinen Sinn. ^ ^

chez WaitInput 1 wäre je mir garnicht so sûrement... alors obs ensuite encore so funzt.
 
23.01.2011  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

8.400 Views

Untitledvor 0 min.
Michael Klumb08.03.2016
iF02.09.2015
Andreas Koch12.04.2012
Frank Vorholzer08.01.2012
plus...

Themeninformationen

cet Thema hat 3 participant:

iF (5x)
unbekannt (4x)
Jörg Sellmeyer (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie