Merci Luckymonaco de t'intéresser à moi et de me proposer cette solution, malheureusement, j'avais déja envisager keydb_event!
Néanmoins peut-être est-ce une erreur de synthaxe de ma part, étant un parfait débutant (1 semaine de porgrammation à tout casser), ce serait très probable.
Voile le programme tel qu'il est avec les deux fonctions d'emmulation calvier:
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Declare Sub keybd_event Lib "user32" Alias "keybd_event" ( _
ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Sub rappatriement()
Dim I As Long
I = Shell ("c:\WINNT\bureau\RS232\T.exe")
' ouverture du prog en Dos
AppActivate I
' Prise de main sur le prog en DOS
Sleep 5000
' attente d'éxécution
SendKeys ({F2})
' emmule F2 sur le programme qui a la main, lance le prog
Sleep 2000
SendKeys (A)
' nom du fichier texte généré par le prog en dos
Sleep 500
SendKeys (~)
' validation du nom
' emmule entré
Sleep 120000
SendKeys ({F3})
' emmule F3 arrêt du prog
Sleep 1000
SendKeys ({esc})
' emmule echap, termine le prog DOS
End Sub
Sub Rappatriement2()
Dim I As Long
Const VK_démarre = 71
Const VK_arrete = 72
Const VK_termine = 1B
Const VK_nom = 41
'Const VK_ok = 'ba la comme ça je me rappelle plus du code ascii correspondant à entree
I = Shell ("c:\WINNT\bureau\RS232\T.exe")
' ouverture du prog en Dos
AppActivate (I)
' Prise de main sur le prog en DOS
Sleep 5000
' attente d'éxécution
Call keybd_event(Vk_démmarre, 0, 0, 0)
' emmule F2 sur le programme qui a la main, lance le prog
Sleep 2000
Call keybd_event(Vk_nom, 0, 0, 0)
' nom du fichier texte généré par le prog en dos
Sleep 500
Call keybd_event(Vk_ok, 0, 0, 0)
' validation du nom
' emmule entré
Sleep 120000
Call keydb_event(Vk_arrete, 0, 0, 0)
' emmule F3 arrêt du prog
Sleep 1000
Call keydb_event(Vk_termine, 0, 0, 0)
' emmule echap, termine le prog DOS
end sub
Donc voila, si vous voyez une grossière erreur, merci de me faire signe.
Très cordialement
Dimi