
luckyluke
Active Members-
Posts
74 -
Joined
-
Last visited
Everything posted by luckyluke
-
$t = '... 1-347-318-9643 1-347-318-9647 1-347-318-9648 1-347-318-9650 1-347-318-9651 1-347-318-9652 1-347-318-9653 1-347-318-9655 1-347-318- ...' $pattern = '347.*?318.*?9655' $tmp = StringRegExpReplace($t, $pattern, "|||", 1) ConsoleWrite($tmp & @CRLF) However i got this output: ... 1-||| 1-347-318- ... Why i got only that, where is the other string, i thought the output should be this: ... 1-347-318-9643 1-347-318-9647 1-347-318-9648 1-347-318-9650 1-347-318-9651 1-347-318-9652 1-347-318-9653 1-||| 1-347-318- ...
-
This code will get the output when the program ends. But i want to get the status when the program is running. Yes, i found it and tried it before. But the code actually get the output after the program exit. I want to get the console while the program is running. this is my code: the code will open the CMD and run "python ui.py" then get the output from console. #include 'array.au3' ;#include "UIAWrappers.au3" Global $DOS, $timer, $whd $live_file = IniRead(@ScriptDir & '\config.ini', 'py_run', 'live_file', '') $prediction_file = IniRead(@ScriptDir & '\config.ini', 'py_run', 'prediction_file', '') $training_file = IniRead(@ScriptDir & '\config.ini', 'py_run', 'training_file', '') $wait_time = IniRead(@ScriptDir & '\config.ini', 'py_run', 'wait_time', 6) FileDelete(@ScriptDir & '\pyConsole.txt') startPY() Sleep(1000) $checker = 1 $i = 1 While 1 $tmp = ControlGetText('python.exe', '', 'Button1') if StringInStr($tmp, 'check online for a solution') Then WinClose('python.exe') Sleep(3000) startPY() EndIf ;~ Sleep(50) ;; no need to go at full speed here. ;~ $sOutput='' ;~ While 1 ;~ $sOutput &= StdoutRead($DOS, False, False) ;~ If @error Then ;~ ExitLoop ;~ EndIf ;~ Sleep(10) ;~ ConsoleWrite($sOutput) ;~ WEnd $Message = StdoutRead($DOS) ;; ditched peek parameter + changed "=" to "&=" ... No more endless loop. if @error Then restartPY() startPY() EndIf ;$sOutput = StderrRead($DOS) ;ConsoleWrite($i & ':' & $sOutput & ',' & StringLen($sOutput) & @CRLF) ConsoleWrite($i & ':' & $Message & ',' & StringLen($Message) & @CRLF) $i=$i+1 if StringLen($Message)>2 and StringInStr($Message, @CRLF) Then ConsoleWrite('i:' & $i & ',' & $Message & @CRLF) ;$i=$i+1 if StringInStr($Message, ',') Then $tmp = StringSplit($Message, @CRLF) ;_ArrayDisplay($tmp) if not @error Then for $j = 1 to UBound($tmp)-1 if StringInStr($tmp[$j], ',') Then $file = FileOpen(@ScriptDir & '\pyConsole.txt', 1) FileWrite($file, $tmp[$j] & @CRLF) FileClose($file) EndIf Next EndIf EndIf $checker=1 Else $checker = $checker+1 ;ConsoleWrite('checker:' & $checker & @CRLF) if $checker=10 Then $timer = TimerInit() EndIf EndIf if $checker>=10000 Then $atime = TimerDiff($timer)/1000 if not @error Then if $atime>Number($wait_time) Then restartPY() startPY() EndIf EndIf EndIf if @error then exitloop WEnd Func restartPY() Do if WinExists('C:\Windows\system32\cmd.exe') then WinClose('C:\Windows\system32\cmd.exe') Else ExitLoop EndIf Until WinExists('C:\Windows\system32\cmd.exe')=0 WinActivate('Predictive model 1.0') Sleep(500) WinClose('Predictive model 1.0') WinWait('Confirm Exit', '', 3) WinActivate('Confirm Exit') WinMove('Confirm Exit', '', 0, 0) Sleep(500) if WinExists('Confirm Exit') then MouseClick('left', 109,94) Sleep(4000) EndFunc Func startPY() $CMD = 'cd ' & @DesktopDir & '\Predictive_model && ' & _ 'python ui.py' $DOS = Run(@ComSpec & ' /C ' & $CMD, @ScriptDir, @SW_SHOW, $STDOUT_CHILD+$RUN_CREATE_NEW_CONSOLE) ;$DOS = Run(@ComSpec & ' /C ' & $CMD, @ScriptDir, @SW_SHOW, $STDIN_CHILD + $STDERR_MERGED) ConsoleWrite($DOS & @CRLF) $mtitle = 'Predictive model 1.0' WinWait($mtitle, '', 5000) ;Sleep(5000) WinMove($mtitle, '', 0, 0) Sleep(1000) ;=====================================set value to GUI================================================= ;live file ;_UIA_Action("Title:=;controltype:=UIA_EditControlTypeId;class:=","setfocus") ;_UIA_Action("Title:=;controltype:=UIA_EditControlTypeId;class:=","setValue using keys", "C:\Users\Administrator\Desktop\Sabrina Betting\LV1.txt") WinActivate($mtitle) Sleep(1000) MouseClick('left', 345,87) Send("^a") Sleep(500) Send($live_file & '11') ;prediction file WinActivate($mtitle) Sleep(1000) MouseClick('left', 345,200) Send("^a") Sleep(500) Send($prediction_file) ;use control click WinActivate($mtitle) Sleep(1000) MouseClick('left', 345,234) Send("^a") Sleep(500) Send($training_file) ;click start button ;~ Local $oP1=_UIA_getObjectByFindAll($UIA_oDesktop, "Title:=Predictive model 1.0;controltype:=UIA_WindowControlTypeId;class:=QWidget", $treescope_children) ;~ Local $oP0=_UIA_getObjectByFindAll($oP1, "Title:=;controltype:=UIA_CustomControlTypeId;class:=", $treescope_children) ;~ Local $oUIElement=_UIA_getObjectByFindAll($oP0, "title:=Start;ControlType:=UIA_ButtonControlTypeId", $treescope_subtree) ;~ _UIA_action($oUIElement,"focus") ;~ _UIA_action($oUIElement,"click") WinActivate($mtitle) Sleep(1000) MouseClick('left', 593,301) Sleep(3000) EndFunc
-
Hello, Im trying to read the output from CMD using Dllcall, here is my code: #include <WinAPI.au3> #include <array.au3> Global Const $STD_OUTPUT_HANDLE = -11 Global Const $_CONSOLE_SCREEN_BUFFER_INFO = _ "struct;int dwSizeX;" & _ "short dwSizeY;" & _ "short dwCursorPositionX;" & _ "short dwCursorPositionY;" & _ "short wAttributes;" & _ "short Left;" & _ "short Top;" & _ "short Right;" & _ "short Bottom;" & _ "short dwMaximumWindowSizeX;" & _ "short dwMaximumWindowSizeY;endstruct" $pCmd = Run( "cmd.exe" ) Sleep(1000) $hCmd = WinGetHandle("") ConsoleWrite('handle:' & $hCmd & @CRLF) $aRet = DllCall("kernel32.dll", "int", "AttachConsole", "dword", $pCmd) ;_ArrayDisplay($aRet) If $aRet[0] <> 0 Then $vHandle_data='' $vHandle='' $vHandle_data = DllStructCreate($_CONSOLE_SCREEN_BUFFER_INFO) ; Screen Buffer structure $aRet1 = DllCall("kernel32.dll", "hwnd", "GetStdHandle", "dword", $STD_OUTPUT_HANDLE) if not @error Then $vHandle = $aRet1[0] $aRet = DllCall("kernel32.dll", "int", "GetConsoleScreenBufferInfo", "hwnd", $vHandle, _ "ptr", $vHandle_data) MsgBox(0, '1',DllStructGetData($vHandle_data, 'dwSizeX') & _WinAPI_GetLastErrorMessage()) EndIf It did not work, i got the message 'The handle is invalid'. Please help? Thank you in advance!
-
HTTP request error, does not know problem
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
thank you -
HTTP request error, does not know problem
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
Thank you. Actually, i am trying to use http request in VBA and it does not work, so i come to autoit and try it but it does not work too. So, how can i make it work if i only want to use http request? -
HTTP request error, does not know problem
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
that is strange, i am using wins7 64bit, not sure what is the problem -
hi all, i tried to access to the website https://www.auction.com/residential/ with http request. here is the code: Global $oHTTP = ObjCreate("winhttp.winhttprequest.5.1"), $date, $limit, $rdir, $wpdir $agent ='Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36' $url = 'https://www.auction.com/residential/' ConsoleWrite($url & @CRLF) $oHTTP.Open("GET", $url, False) $oHTTP.setRequestHeader ("User-Agent", $agent) ;$oHTTP.Option(4) = 13056 $oHTTP.Send() $srcHTML = ($oHTTP.ResponseText) ConsoleWrite($srcHTML & @CRLF) But when i run it, i always get the error: ==> The requested action with this object has failed.: $oHTTP.Send() $oHTTP^ ERROR for other website, it is working well, but this one does not. Pls help me
-
A problem using winhttp request for https site
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
Hi, i tested the code with other computer, and it did not work. Do you get the result or blank message box? I dont know why is that. -
Hello all, Im trying to get the information from https website, but it does not return any thing, here is the code: Global $oHTTP = ObjCreate("winhttp.winhttprequest.5.1") $agent ='Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36' $url = "https://www.sportinglife.com/racing/results" $oHTTP.Open("GET", $url, False) $oHTTP.setRequestHeader ("User-Agent", $agent) $oHTTP.Option(4) = 13056 $oHTTP.Send() $src = ($oHTTP.ResponseText) ConsoleWrite($url & @CRLF) MsgBox(0, '$src', $src) when i tried with other website, it is working, but this code does not works with this website. Pls help me thank you.
-
Read output from CMD using PID
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
Juvigy check the careca 's code, it worked for me. -
Read output from CMD using PID
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
-
Read output from CMD using PID
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
The point is i want to get text from CMD which is run by other program. so we cant start CMD using autoit. -
Read output from CMD using PID
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
Hi, here is the steps: 1. i start cmd in windows. open task manager to get the process ID of CMD 2. I run autoit script, then put the ID i got from step 1, then the script will need to read output from cmd. for example in cmd i type "help", then the script will read the output from cmd. Is that ok? -
Read output from CMD using PID
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
-
Read output from CMD using PID
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
#include <Constants.au3> Local $iPID = InputBox("Input process id of CMD", "Input process id of CMD") Local $sStdOut = "" While 1 $sStdOut &= StdoutRead($iPID) ConsoleWrite(StdoutRead($iPID) & @CRLF) If @error Then ExitLoop Wend Here is the code -
Hello, I have process id of CMD and i want to read output from it. i have used StdoutRead but it does not work. for example: i start CMD without using Autoit, then i get the process ID, then i use Autoit to read the output using pID, but it does not work. Pls help thanks
-
IUIAutomation error with $objUIAutomation
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
Hi, im using XP SP3. I've searched for UIAutomationCore.dll and found it in system32 folder, so i think it's installed -
IUIAutomation error with $objUIAutomation
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
Hi i've check in UIAWrappers.au3 and found that the script can not create object func _UIA_Init() ;~ consolewrite("initializing") ;~ The main object with acces to the windows automation api 3.0 $objUIAutomation = ObjCreateInterface($sCLSID_CUIAutomation, $sIID_IUIAutomation, $dtagIUIAutomation) If IsObj($objUIAutomation) = 0 Then msgbox(1,"UI automation failed", "UI Automation failed",10) Return SetError(1, 0, 0) EndIf $objUIAutomation = 0 so it's not a object. Im using Autoit version 3.3.10.2. What should i do now? -
Hi all Im working with sample code from this page: '?do=embed' frameborder='0' data-embedContent>> The example code is Example 4 that demonstrates the calculator The error i get when run this code is: --> Press Ctrl+Alt+F5 to Restart or Ctrl+Break to Stop matched: class30012 Matching: 30012 for CalcFrame "C:\Program Files\AutoIt3\Include\UIAWrappers.au3" (553) : ==> Variable must be of type "Object".: $objUIAutomation.createPropertyCondition($PropertyId, $tVal, $pCondition) $objUIAutomation^ ERROR ->21:51:53 AutoIt3.exe ended.rc:1 +>21:51:53 AutoIt3Wrapper Finished.. Please help Thanks
-
Controlclick on gpedit.msc
luckyluke replied to luckyluke's topic in AutoIt General Help and Support
Thanks for your idea, i will try it.