| |
|
|
| Bueno Tag!
Yo bin großer Freund el Programmiersprachen XProfan sowie Autohotkey (AHK). Letztens ha se me el Cuestión gestellt, si no auch en XProfan una Befehl integriert es, con el uno Hotkeys a través de programas muestran kann (ähnlich como en AHK, wo z.B. #n::Run Notepad el Notepad startet oder ¡Hola::Tschüss el Wort "Hallo" komplett todos los programas por el Wort "Tschüss" ersetzt). Gibt lo como una XProfanes Äquivalent? Wenn no allzu kompliziert, gerne auch una ähnliche Función de el Windows API
Schon veces vielen Dank en el Vorraus, Vincent. |
|
|
| |
|
|
|
| |
|
|
|
| Sí, el kommt el ganzen Sache ya muy nahe, vielen Dank Was allerdings muss Yo tun, si yo por ejemplo todo Wörter sustituir möchte? D.h., si yo en el Editor oder auch en irgendeinem anderem Programa una "Hallo Welt" no con un F12, sindern con el Eingabe uno ganzen Wortes provozieren möchte?
Also si yo por ejemplo el Wort "Klaus" eingebe y möchte, dass dieses Wort entonces por "Hallo Welt" ersetzt se? Also el anstatt des Wortes "Klaus" entonces "Hallo Welt" erscheint o. transferencia se? |
|
|
| |
|
|
|
| Es auch kein Problema, Yo Usted esta veces una Konstrukt aufbereitet.
Usted musst dafür aber stark ser ^ ^ -
Usted musst en Deiner IDE XPSE [...] como Kompiler angeben el el código algo vorbereitet y luego a XProfan weitergibt: KompilierenMarcaSeparación {$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
Hier se una LowLevel-Keyboard-Hook injiziert -
si irgendwo "HALLO WELT" tippst Luego se "Klaus" eingefügt o. de "KLARO" se "Prima!".
Kaum getestet hingewürfelt pero funzt en me schonmal...
Um Su XProfan XPSE-Fit a hacer simplemente xpse.exe, jwasm.exe y polink.exe de [...] herunterladen y en el XProfan-Directorio kopieren y el IDE en Kompiler el xpse.exe angeben. |
|
|
| |
|
|
|
| Sí super, vielen Dank! Schaue me morgen veces genauer a |
|
|
| |
|
|
|
| Gern geschehen - fand Yo auch eben interessant. |
|
|
| |
|
|
|
| So, tener todos veces getestet, funktioniert alles super, vielen Dank otra vez! Allerings me está aufgefallen, dass antes allem el erste Ejemplo unheimlich viel CPU-Leistung verbraucht. Posesiones veces una Waitinput ergänzt - entonces ging zwar el CPU-Auslastung después de unten, el Programa reagierte entonces aber sólo todavía el isKey, si el XProfan-Ventana auch wirklich offen war, no, si z.B. minimiert wurde. Gibt's como una Trick, el CPU-Auslastung möglichst weit unten a halten? |
|
|
| |
|
|
|
| Das 2. Ejemplo verbraucht 0% CPU, el 1. Ejemplo dagegen en el Principio "100%".
Diese Variante dürfte auch "nichts" verbrauchen: KompilierenMarcaSeparación |
|
|
| |
|
|
|
Jörg Sellmeyer | Wahrscheinlich reicht incluso una Sleep 1. Ab XProfan 11 va auch "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 Sekunde y 1000 (theoretische) Überprüfungen pro Sekunde hacer imho no Sinn. ^ ^
En WaitInput 1 wäre Yo garnicht así sicher... also obs entonces así funzt. |
|
|
| |
|
|