DO WHILE CheckWin('Password') *--THIS WORKS BUT I NEED TO SEND KEYSTROKES TO IT SOMEHOW WAIT WINDOW "Found the password window" NOWAIT ENDDOI can locate the window but I cannot send keystrokes to it. Is it possible?
PROCEDURE ExeWait (lcApp, lcCmdLine, lcdir) IF _VFP.AutoYield = .F. llsetback = .T. ELSE llsetback = .F. ENDIF _VFP.AutoYield = .T. #DEFINE INFINITE 0xFFFFFFFF LOCAL lcStartupInfo, lcProcInfo, hProcess, ; lnPrio, lnIBelieve1 lnIBelieve1 = 1 && Don't remember what that was lnPrio = 32 && Priority of Process=Normal lcStartupInfo = CHR(68) + REPLI(CHR(0), 67) lcProcInfo = REPLI(CHR(0), 16) IF CreateProcess(0, m.lcApp+" "+m.lcCmdLine+CHR(0), 0,0,; m.lnIBelieve1, m.lnPrio,; 0, 0, @lcStartupInfo, @lcProcInfo) <> 0 * process and thread handles returned in ProcInfo structure hProcess = buf2dword(SUBSTR(lcProcInfo, 1,4)) hThread = buf2dword(SUBSTR(lcProcInfo, 5,4)) * waiting until the termination of the program DOEVENTS DO WHILE .T. exitcode = 0 = GetExitCodeProcess(hProcess, @exitcode) IF exitcode # 259 EXIT ELSE DO WHILE CheckWin('Password') *--THIS WORKS BUT I NEED TO SEND KEYSTROKES TO IT SOMEHOW WAIT WINDOW "Found the password window" NOWAIT ENDDO ENDIF = Sleep (100) ENDDO = CloseHandle(hThread) = CloseHandle(hProcess) ELSE IF llsetback _VFP.AutoYield = .F. ENDIF RETURN .F. ENDIF IF llsetback _VFP.AutoYield = .F. ENDIF RETURN FUNCTION CheckWin PARAMETER tcTitle DECLARE INTEGER FindWindow IN Win32API AS FindWindow STRING, STRING RETURN IIF(FindWindow(0,tcTitle)>0,.T.,.F.)