JonF Posted Wednesday at 04:06 PM Posted Wednesday at 04:06 PM I'm building a bootable flash drive. I want to include the Wireshark packet watcher. It requres the Npcap service to be running. I'm trying to automate the installation of Npcap after boot. I'm testing in VirtualBox but the same thing happens on physical hardware. In both the "Installing" window and the "Options" window appear AutoIT clicks the appropriate button. When the "Installing" windiow appears, a second or two later the WinWaitActive($Handle,"Completed") fires the ControlClick($WindowTitle"&Next",1) for a button that doesn't exist yet. I sprinkled WinActivate throughout because another program window is on screen while this is happening, but it made no difference. If I close the other program window first it makes no difference. expandcollapse popup#include <FileConstants.au3> #include <File.au3> #include <Array.au3> #include <MsgBoxConstants.au3> If $CmdLine[0] >= 1 Then $Pause=$CmdLine[1] Else MsgBox(4096,"NPcap installer","Please include the pause flag (False or True) on the command line.") Exit EndIf If $CmdLine[0] >= 2 Then $StartDriver=$CmdLine[2] Else MsgBox(4096,"NPcap installer","Please include the start driver flag (False or True) on the command line.") Exit EndIf $FileList = _FileListToArray(@ScriptDir,"npcap-*.exe",$FLTA_FILES ,True) Select Case @error = 4 MsgBox($MB_OK,"File error","Npcap installer " & @ScriptDir & "\npcap-*.exe not found!") Exit Case @error = 1 MsgBox($MB_OK,"File error","Npcap installer path " & @ScriptDir & " not found!") Exit Case @error=0 EndSelect ; Wait until PE Network Manager settles down. If WinExists("PE Network Manager") Then WinWait("PE Network Manager","Properties",3) $Version = StringRight(StringTrimRight($FileList[1],4),4) $WindowTitle = "Npcap " & $Version & " Setup" ShellExecute($FileList[1]) $WindowTitle = WinWait($WindowTitle,"License Agreement",10) If $WindowTitle <> 0 Then WinActivate($WindowTitle) ControlClick($WindowTitle,"License Agreement",1) WinWaitActive($WindowTitle,"Installation Options") WinActivate($WindowTitle) If $Pause = "False" Then ControlClick($WindowTitle,"&Install",1) EndIf WinActivate($WindowTitle) WinWaitActive($WindowTitle,"Setup was completed") WinActivate($WindowTitle) ; Wait for the "Next" button to be active Sleep(3000) ControlClick($WindowTitle,"&Next",1) WinWaitActive($WindowTitle,"Finished") ControlClick($WindowTitle,"&Finish",1) Else MsgBox($MB_OK,"Npcap install","Did not see the installation window " & $WindowTitle & "!") EndIf If $StartDriver = "True" Then If @OSArch="X86" Then $Command = @WindowsDir & "\SysWOW64\cmd.exe" Else $Command = @SystemDir & "\cmd.exe" EndIf ShellExecute($Command," /c net start npcap") EndIf If you want to wattch it, https://fleming-group.com/Hidden/Video/Video.html. The cmd window flashing is the end of the AutoIT script.
argumentum Posted Wednesday at 04:23 PM Posted Wednesday at 04:23 PM Fortunately npcap has these "&" that allows you to, instead of aiming the mouse, send the "ALT + n" to the window. Try that. Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting.
Nine Posted Wednesday at 06:33 PM Posted Wednesday at 06:33 PM Seems a bit strange that all your buttons have a control id equals to 1. All your ControlClick are using the control id 1. Are you sure about that ? “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Debug Messages Monitor UDF Screen Scraping Round Corner GUI UDF Multi-Threading Made Easy Interface Object based on Tag
ioa747 Posted Wednesday at 09:12 PM Posted Wednesday at 09:12 PM (edited) maybe for such an action ( installation ) you need #RequireAdmin Edited Wednesday at 09:14 PM by ioa747 I know that I know nothing
JonF Posted Thursday at 08:27 PM Author Posted Thursday at 08:27 PM On 8/6/2025 at 2:33 PM, Nine said: Seems a bit strange that all your buttons have a control id equals to 1. All your ControlClick are using the control id 1. Are you sure about that ? Yes.
argumentum Posted Thursday at 09:11 PM Posted Thursday at 09:11 PM @JonF I don't like you To the ignore list ! Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting.
Nine Posted Thursday at 09:44 PM Posted Thursday at 09:44 PM (edited) 14 hours ago, JonF said: Yes. No. Show me au3info, I think you are mistaken with the number of clicks...Anyway you do not need to provide the text of a button (or any other controls) if you know the control id. It is just an overkill... Edited yesterday at 10:34 AM by Nine “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Debug Messages Monitor UDF Screen Scraping Round Corner GUI UDF Multi-Threading Made Easy Interface Object based on Tag
JonF Posted 1 hour ago Author Posted 1 hour ago On 8/7/2025 at 5:11 PM, argumentum said: @JonF I don't like you To the ignore list ! I''ve seen people like you before.
JonF Posted 1 hour ago Author Posted 1 hour ago On 8/7/2025 at 5:44 PM, Nine said: No. Show me au3info, I think you are mistaken with the number of clicks...Anyway you do not need to provide the text of a button (or any other controls) if you know the control id. It is just an overkill... I'm trying, but the program has decided to run minimized and can't be restored. Arghh...... It seeems nobody is addressing the issue, which is that... WinWaitActive($WindowTitle,"Setup was completed") ... is reporting the windows is active before the window containing that text is on-screen.
JonF Posted 1 hour ago Author Posted 1 hour ago On 8/7/2025 at 5:44 PM, Nine said: No. Show me au3info, I think you are mistaken with the number of clicks...Anyway you do not need to provide the text of a button (or any other controls) if you know the control id. It is just an overkill... The Help file does NOT list the second argument as optional.
Nine Posted 1 hour ago Posted 1 hour ago (edited) 36 minutes ago, JonF said: The Help file does NOT list the second argument as optional. True. For all Control* functions it doesn't say it is optional. It is not optional in terms of skipping it. It is optional (check examples of Control* functions) in the sense that you must provide a string, but most of the time, it is going to be empty... However, it is clearly stated that the second parameter of many Win* functions is optional (meaning that you can skip it). Edited 30 minutes ago by Nine “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Debug Messages Monitor UDF Screen Scraping Round Corner GUI UDF Multi-Threading Made Easy Interface Object based on Tag
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now