Hi, I am stuck on a GUI problem and would like your help to solve it.
I am trying to automate the SoundWire Server app to match my current system volume level while it is minimized to the notification area (so no clicking or stealing focus),
I can already get the handle and alter the tracker position by sending a WM_SETPOS message, but somehow the actual volume is not changed: I think I need to do something else to trigger the event handler for the value change and propagate it correctly.
This is the control summary from Au3 info:
>>>> Window <<<< Title: SoundWire Server Class: #32770 Position: 441, 218 Size: 566, 429 Style: 0x94CA00C4 ExStyle: 0x00050101 Handle: 0x0000000000510E12 >>>> Control <<<< Class: msctls_trackbar32 Instance: 4 ClassnameNN: msctls_trackbar324 Name: Advanced (Class): [CLASS:msctls_trackbar32; INSTANCE:4] ID: 6002 Text: Position: 51, 222 Size: 47, 126 ControlClick Coords: 1, 101 Style: 0x5001000A ExStyle: 0x00000000 Handle: 0x00000000001234C8 >>>> Mouse <<<< Position: 496, 567 Cursor ID: 2 Color: 0xF0F0F0 >>>> StatusBar <<<< >>>> ToolsBar <<<< >>>> Visible Text <<<< Default multimedia device Tray on Start Static Server Address: 192.168.1.8 Status: Connected to B9K~OP3 Audio Output Audio Input Level Record to File Input Select: 44.1 kHz Minimize to Master Volume Mute >>>> Hidden Text <<<< Slider2 Mute OK Cancel Label Balance Slider1 Volume Front L/R Fr C/LFE Side L/R Back L/R
I am attaching the program in question so you don't have to install it (i don't know if it is portable enough, tough):
Thanks in advance and I hope I didn't post in the wrong section
Is this better to check a variable before you assign it to a value that could be the same?
local $EmptyLog = false func WriteLog($text) _guictrledit_appendtext($log, ($EmptyLog ? @CRLF : $empty) & $text) If $EmptyLog Then $EmptyLog = False endfunc or does AutoIt behind the scenes already check this?
i guess overwriting memory with the same value over and over again is not good if you can prevent this with a check?
I'm trying to read value of a base pointer + offset.
With only address I can easily the value but with base addres (pointer) I really don't know how I can do that.
I have a program that has a control that changes color a few seconds into running. So ideally, I would poll this to tell when an event has occurred.
I can't seem to retrieve the correct color value for a control. It always seems to return white indicating that its selecting somewhere else in the window.
In the PixelGetColor call I'm adding half the width to the x value and subtracting half the height to the y value in order to get the center of the control. (assuming the coords returned by ControlGetPos are top left - which i can't be sure of) But I've also tried without modifying the x/y and with changing the PixelCoordMode option to 2. Maybe I'm making a silly mistake and can't see it? Any help would be appreciated.
Code is below:
FileChangeDir( "C:\Where\My\File\Is" );
Run( "MyProgram.exe" )
Local $hClient = WinWaitActive( $CLIENT_TITLE, "", 10 )
Local $systemIndicatorClassNN= "[CLASS:Qt5QWindowIcon; INSTANCE:99]"
Local $hSystemIndicator = ControlGetHandle ( $hClient, "", $systemIndicatorClassNN)
Local $xywh = ControlGetPos ( $hClient, "", $hSystemIndicator )
For $i = 10 To 1 Step -1
$color = PixelGetColor ( $xywh + ($xywh/2), $xywh - ($xywh/2), $hClient )
LogToFile( $color )
Sleep( 2000 )
I have a text file whose data will be as below.
win10x64 ~\erwin Notallowed1! "erwin Data Modeler r9.7 (32-bit)_2500.exe" SilentInstall.exe win10x64clone1 ~\erwin Notallowed1! "erwin Data Modeler r9.7 (64-bit)_2500.exe" DM64.exe win10x64clone2 ~\erwin Notallowed1! "erwin Mart Server r9.7 (32-bit).exe" SilentInstall.exe win10x64clone3 ~\erwin Notallowed1! "erwin License Server r9.7 (32-bit).exe" SilentInstall.exe Each line will have multiple values separated by space.
If a value contains space in it, the value is surrounded by quotes.
My task is to check how many values are there in each line.
If the line contains 5 values, I need to replace the 4th value with the string contained in a variable.
If it contains 4 values then also I need to replace the 4th value followed by appending 5 th value to it as SilentInstall.exe
If the value I am replacing contains spaces then I need to surround the new value with quotes.
Any one can suggest how to do this,??