I made this function. It do this.
Function TesteSend()
MySendText("TESTANDO")
Return
Static Function MySendText(cTexto)
Local nI
Local cCar
Local lShift
// sem shift
cTexto := StrTran(cTexto,".",Chr(190))
cTexto := StrTran(cTexto,"/",Chr(193))
cTexto := StrTran(cTexto,"=",Chr(187))
// com shift
cTexto := StrTran(cTexto,":",Chr(191))
If GetKeyToggle(20) // se capslock estiver ativo
MySendKey(20,0)
MySendKey(20,45)
EndIf
If Len(cTexto)==0
MySendKey(17,0) // control
MySendKey(Asc(Upper("V")),0)
MySendKey(Asc(Upper("V")),45)
MySendKey(17,45)
Return
EndIf
For nI := 1 to Len(cTexto)
cCar := SubStr(cTexto,nI,1)
lShift := IsUpper( cCar )
If lShift
MySendKey(16,0)
EndIf
MySendKey(Asc(Upper(cCar)),0)
If lShift
MySendKey(16,45)
EndIf
Next
Return
#pragma begindump
#include <windows.h>
#include <stdlib.h>
#include "hbapi.h"
#define WH_KEYBOARD_LL 13
HB_FUNC ( EMTGETWINDOW ) // RETORNA A WINDOW QUE ESTA EM FOCO
{
hb_retni(GetForegroundWindow());
}
HB_FUNC( MYSENDKEY )
{
int nPress;
nPress = hb_parni(2);
if (nPress == 0)
keybd_event( hb_parni(1), nPress, KEYEVENTF_EXTENDEDKEY | 0, 0 );
else
keybd_event( hb_parni(1), nPress, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 );
}
#pragma enddump