Recommended Posts

The program presses various GUI controls on the 3rd party software in a certain order.

There is one toolbar button i need to press (as well as several buttons and menus which are no problem)

I am able to click buttons when it is locked using _GUICtrlButton_Click() as controlClick() won't work, but the toolbar version of this function _GUICtrlToolbar_ClickButton() needs to use the mouse pointer and so doesn't work when the computer is locked or the window isn't the active window.

Share this post

Link to post

Share on other sites

Send an Alt keypress, which SHOULD go to the Toolbar, then use the left and right arrow keys to navigate to the toolbar item, then use spacebar (or enter) to open the toolbar. Feel free to modify this however it SHOULD work.

My UDFs are generally for me. If they aren't updated for a while, it means I'm not using them myself. As soon as I start using them again, they'll get updated.

Share this post

Link to post

Share on other sites

Send an Alt keypress, which SHOULD go to the Toolbar, then use the left and right arrow keys to navigate to the toolbar item, then use spacebar (or enter) to open the toolbar. Feel free to modify this however it SHOULD work.

Thanks, however send commands don't seem to work while the PC is locked, no keyboard or mouse functions are available as there are no active windows.

Recently Browsing
0 members

Similar Content

good morning all.
first lit me give you all a thinks to your help
you're help me allot thank you all.
sirs today i've a new problem
it's not a problem but thing i want to add it to blind accessability.
the ListBox can send a notification when the user send a double click on it items
but as we know that the blind users can't use the mouse for that they use the keybord to navigate.
as we know that the enter replace the double click on the keybord
for that i need when the user send a inter above any listBox item the list send a double click notification.
i know some of you tell me that i can use the GUISetAccelerators function
but the enter has a other tasks such as leav a blanc line on edits and activate the defaultButton and other tasks.
that what i need and i hope that you can help me
this is a simple example.
#include <GUIConstantsEx.au3>
#include <StructureConstants.au3>
#include <MsgBoxConstants.au3>
#include <WindowsConstants.au3>
#include <ListBoxConstants.au3>
Example()
Func Example()
Local $sMESSAGE = "The following buttons have been clicked"
GUICreate("My GUI list") ; will create a dialog box that when displayed is centered
Local $idButton_Add = GUICtrlCreateButton("Add", 64, 32, 75, 25)
Local $idButton_Clear = GUICtrlCreateButton("Clear", 64, 72, 75, 25)
global $idMylist = GUICtrlCreateList("buttons that have been clicked", 176, 32, 121, 97)
GUICtrlSetLimit(-1, 200) ; to limit horizontal scrolling
GUICtrlSetData(-1, $sMESSAGE)
global $DummyList = GUICtrlCreateDummy()
GUICtrlSendToDummy($DummyList, 1)
Local $idButton_Close = GUICtrlCreateButton("my closing button", 64, 160, 175, 25)
GUIRegisterMsg($WM_command, "WM_command")
GUISetState(@SW_SHOW)
; Loop until the user exits.
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $idButton_Add
GUICtrlSetData($idMylist, "You clicked button No1|")
Case $idButton_Clear
GUICtrlSetData($idMylist, "")
Case $idButton_Close
MsgBox($MB_SYSTEMMODAL, "", "the closing button has been clicked", 2)
Exit
case $DummyList
$g_iTemp = GUICtrlRead($DummyList)
if $g_iTemp = $LBN_DBLCLK then
;$LBN_DBLCLK then
msgBox(64, "", "")
endIf
GUICtrlSendToDummy($DummyList, 0)
EndSwitch
WEnd
EndFunc ;==>Example
Func WM_command($hWnd, $iMsg, $wParam, $lParam)
#forceref $hWnd, $iMsg
Local $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hWndFrom = $lParam
$iCode = BitShift($wParam, 16) ; Hi Word
Switch $hWndFrom
Case GUICtrlGetHandle($idMylist)
Switch $iCode
Case $LBN_SELCHANGE, $LBN_DBLCLK, $LBN_SELCANCEL, $LBN_SETFOCUS
GUICtrlSendToDummy($DummyList, $iCode)
case else
;GUICtrlSendToDummy($DummyTreeview, 1)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc

Hey there!
I am having a problem with clicking a button in IE. As you can see in the code, there would be a class name to click it, but since this button exists several times with exactly the same code, I can only use the "Noch nicht veröffentlicht" to separate it from the others. But this part is just pure text without any classification.
"<div class="checkmark" data-v-1e5b1f70=""><svg xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 16 16" data-v-1e5b1f70=""><circle cx="8" cy="8" r="8" data-v-1e5b1f70="" /></svg></div>Noch nicht veröffentlicht"
I was trying to click it with:
#include <IE.au3>
local $oNNVs = _IEFormGetCollection($oIE2)
For $oNNV in $oNNVs
If String($oNNV.innertext) = "Noch nicht veröffentlicht" Then
_IEAction($oNNV, "click")
EndIf
Next
and:
$inputs = $oIE2.document.getElementsByTagName("div")
For $input In $inputs
If $input.innertext == "Noch nicht veröffentlicht" then
$input.click()
EndIf
Next
But nothing seems to work. Thanks for the help!

Greetings!
I am in need of your guidance once again. I searched the forums for clicking in span, clicking by class, clicking without an ID or Name, etc., but I am unable to find a solution for my problem.
I am trying to expand this tree in IE. There is an arrow ( > ) that i need to click, but I can't find a way to do it . Alternatively, I can double-click the text "Servers", but that seems to be even more troublesome. I will have to do this 2-3 more times as the tree expands.
There appears to be an ID for the tree, simply called "tree", but that isn't working when I send a click to it.