* Funciona em uma janela GUI fiz um teste.
objShell := Win_OleCreateObject("WScript.Shell")
objShell:SendKeys("123")

Moderador: Moderadores
objShell := Win_OleCreateObject("WScript.Shell")
objShell:SendKeys("123")
objShell := Win_OleCreateObject("WScript.Shell")
objShell:Run("calc")
Inkey(1)
objShell:AppActivate("Calculator")
Inkey(1)
objShell:SendKeys("1{+}")
Inkey(1)
objShell:SendKeys("2")
Inkey(1)
objShell:SendKeys("~") // Total
Option Explicit
' API_SendKey
Private Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
' API_SendKey
Const WM_KEYDOWN = &H100
Const WM_KEYUP = &H101
Public Sub Api_SendKey(hwnd As Long, nKey As Long)
Dim lRetVal As Long
lRetVal = PostMessage(hwnd, WM_KEYDOWN, nKey, 0)
lRetVal = PostMessage(hwnd, WM_KEYUP, nKey, 0)
End Sub
wapi_PostMessage( hWnd, WM_KEYDOWN, nKey, 0 )
wapi_PostMessage( hWnd, WM_KEYUP, nKey, 0 )
REQUEST HB_CODEPAGE_PTISO
PROCEDURE Main
LOCAL hWnd
SetMode( 25, 80 )
CLS
hWnd := wapi_FindWindow( ,"calculadora" )
WinKeyboard( hWnd, "1+2=" )
Inkey(0)
RETURN
FUNCTION WinKeyboard( hWnd, cText )
LOCAL oElement
FOR EACH oElement IN cText
wapi_PostMessage( hWnd, WM_KEYDOWN, Asc( oElement ), 0 )
wapi_PostMessage( hWnd, WM_KEYUP, Asc( oElement ), 0 )
NEXT
RETURN NIL
asimoes escreveu:outra coisa, você tem que dar foco na janela. ( aqui estou na duvida )
objShell := Win_OleCreateObject("WScript.Shell")
objShell:AppActivate("Firefox")
//objShell:SendKeys("% x") // Maximizar a janela ativa
//objShell:SendKeys("% n") // Minimizar a janela ativa
objShell:SendKeys("% r") // Restaurar a janela ativa
Inkey(1)
Outras possibilidades
Maximizar, minimizar ou restaurar uma janela externa por exemplo o Firefox
objShell := Win_OleCreateObject("WScript.Shell")
objShell:AppActivate("ag5plano")
?"Vai maximizar:"
inkey(3)
objShell:SendKeys("% x") // Maximizar a janela ativa
?"Maximizou?"
?"Vai minimizar:"
inkey(3)
objShell:SendKeys("% n") // Minimizar a janela ativa
?"Minimizou?"
inkey(3)
?"Vai restaurar:"
inkey(3)
objShell:SendKeys("% r") // Restaurar a janela ativa
?"Restaurou?"
Inkey(3)
Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes