Jump to content

Recommended Posts

Okay so basically I have another problem with my script again, Not exactly the script it's self but more finding how to add a certain pixel color into it. I've made a few attempts and got it close but not close enough. I'm trying to make the mouse hover over the Pause Button on my Media Player. I'll add the Pixel color into the attachments. If someone could show me how to find the Pixel color in the form of the line "PixelSearch( 0, 0, $i, 768, 0xFF0000, 10 )" then I'd be the most greatful noobie that ever existed

misc4.au3

post-73895-0-34342300-1340485464_thumb.j

Link to post
Share on other sites

Tools -> AutoIT info window.

Click and drag the target to where the pause button is and let go. In the info window, click on the mouse tab and it will have the color of where you let go of the target.

Link to post
Share on other sites

PixelSearch() returns after it finds the first instance of a colour in the search area.

There are a number of ways to try, I'll list two of them.

1. Change the direction of your search (see help file)

2. Find the position of the GUI (WinGetPos) and search only that area.

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to post
Share on other sites

yes but I realise I may not have expanded as much as I should of. Basically I know the script works. Because It follows a form of red on my desktop. But it doesn't have the same connection for when I run the Player, (even in full screen) it's almost as if it's a different red from the one on my desktop. The exact red of my pause button is displayed in the attachment part of the post. But for some reason when I do the Window AutoIT tool thing it gives me "0x14CF0000" as the color but that doesn't seem to be correct as it isn't attracted to that shade. The whole line I have is " $coord = PixelSearch( 0, 0, $i, 650, 0x14CF0000, 10 )"

Link to post
Share on other sites

I see, I'm just guessing here, but it sounds like media player might employ the same method

which some full screen games do, which hinder the detection of pixels.

I don't know anything about that sorry. And I could be wrong.

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to post
Share on other sites

The problem here is that you are not understanding how the pixel search works. If you r searching for a red pixel and there is an icon on your desktop, it will return only the only one time which is the first instance that is true. You have the exact color. Using rgb will not change anything. It will still return the same thing.

I also don't understand why your pause and play button is red but that's another subject. If you really want to pause and play, look into controlclick because that will not require the window to be showing.

Link to post
Share on other sites
  • 5 weeks later...

but i saw u used this: ( 0, 0, $i, 650, 0x14CF0000, 10 ) as your color but isnt the 10 at the end shade?

if so try 1 or 0 because at 10 it will detect yellow if its on ur screen or green instead of red 1 is ok if ur not sure what red it is 0 it only gets to the specified color.

as for the fullscreen problem maybe its solved this way.

Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Sanja
      Hello forum,
      I have the problem that I can not use Firefox in combination with WebDriver when using AutoIt on some websites. Of course it does not work with the very website I need it to work with.
      As soon as I want to open the desired website, I get the little robot icon which tells me that the "browser is under remote control" and the website stays blank.
      I CAN open the website (www.ebay-kleinanzeigen.de) but I get blocked when I want to go to my account, to be precise.

      I am using AutoIt 3.3.14.5 I have checked my FireFox version. It is up to date. Also the special browser drivers like gecko etrc. are up to date too and everything works fine with the WebDriver demo.
      It seems that another user also had the same problem, but the thread has already been closed and the users solution (setting security lower did not work for me).
      I mean I can only choose between "standard", "strict" and "customized". On "customized I unchecked everything but it still would not change anything.
      I also have checked Google Chrome and MS Edge. Same result.
      I tried swiching profiles (only with FireFox). Same result.
      I tried to acess a previously opened FireFox session where I manually logged in by using this code snippet:
      _WD_Option('Driver', 'C:\Path\to\the\executable\geckodriver.exe') _WD_Option('DriverParams', '--log trace --connect-existing  --marionette-port 2828') _WD_Option('Port', 4444) Obviously I adjusted the path of the geckodriver.exe but it did not work at all on my computer.
      So far my code is really basically nothing but I can not even start to code. I myself am not a real coder and I know only the very basics like loops, conditions and variables.
      ----------------------------------------
      ; Script Start #include <Array.au3> #include <AutoItConstants.au3> #include <ButtonConstants.au3> #include <EditConstants.au3> #include <File.au3> #include <GuiComboBoxEx.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <StringConstants.au3> #include <StaticConstants.au3> #include "wd_core.au3" #include "wd_helper.au3" #include <WindowsConstants.au3> Local $sDesiredCapabilities, $sSession, $sElement SetupGecko() $_WD_DEBUG = $_WD_DEBUG_None _WD_Startup() $sSession = _WD_CreateSession($sDesiredCapabilities) _WD_Navigate($sSession, "https://www.ebay-kleinanzeigen.de/m-meine-anzeigen.html?sort=CREATION_DATE_ASC&keyword=winter") Exit Func SetupGecko() _WD_Option('Driver', 'geckodriver.exe') _WD_Option('DriverParams', '--log trace --marionette-port 2828') _WD_Option('Port', 4444) $sDesiredCapabilities = '{"capabilities":{"alwaysMatch": {"moz:firefoxOptions": {"args": ["-profile", "' & "C:/Users/myaccount/AppData/Roaming/Mozilla/Firefox/Profiles/0123456.default-release" & '"],"log": {"level": "trace"}}}}}' EndFunc ;==>SetupGecko Func SetupChrome() _WD_Option('Driver', 'chromedriver.exe') _WD_Option('Port', 9515) _WD_Option('DriverParams', '--verbose --log-path="' & @ScriptDir & '\chrome.log"') $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"goog:chromeOptions": {"w3c": true, "excludeSwitches": [ "enable-automation"]}}}}' EndFunc ;==>SetupChrome Func SetupEdge() _WD_Option('Driver', 'msedgedriver.exe') _WD_Option('Port', 9515) _WD_Option('DriverParams', '--verbose --log-path="' & @ScriptDir & '\msedge.log"') $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"ms:edgeOptions": {"binary": "' & StringReplace(@ProgramFilesDir, "\", "/") & '/Microsoft/Edge/Application/msedge.exe", "excludeSwitches": [ "enable-automation"], "useAutomationExtension": false}}}}' EndFunc ;==>SetupEdge --------------------------------------
      I left the three setup functions in, because I do not care what browser I use as long as I can start coding.
      Also, please understand that I am not trying to be lazy here. I do not want someone to code for me. Maybe the problem is very basic, but I just do not know how to eliminate that restriction.
      Is it something I need to uncheck in the browser settings or is it more complicated? If you need more information, I will be happy to provide those.
      If somebody has an idea or a solution, I would very much appreciate it.

      Edit:
      I am not bothered by the robot icon itself. I do not care about it.  If I try to acess my regular ebay account: "https://mesg.ebay.de/mesgweb/ViewMessages/0" it works like a charm despite the notification that the browser is remotely controlled.
      My problem is, that the first website does not load for some reason ONLY when the browser is remote controlled.
    • By Maffiagang
      Hello,
      i have been making a countdown timer and its all working just how i like it, its just skipping the 0's en going from 1 - 59 ( it does wait the time needed for the counter to go from 1 - 0 - 59) It just goes from 1 to 59, showing the 1 for the time needed to go from 1 to 0 and then to 59.
       
      Here's my code:
      For $i = 60 To 1 Step -1 Next If $i = 0 Then $Sc = $Sc - 1 EndIf If $Sc = 0 Then $Sc = 0 ;~ <--- Shouldnt this work? Setting it to 0 then wait 1 sec to set it to 59? Sleep(1000) $Mn = $Mn - 1 $Sc = 59 EndIf If $Mn = 0 And $Sc = 0 Then $CDHrs = 0 Sleep(1000) $Mn = 59 EndIf GUICtrlSetData($Countdown, 'Hrs:' & $CDHrs & ' ' & 'Min:' & $Mn & ' ' & 'Sec:' & $Sc) Sleep(1000) I dont need the solution in code, just point me into the general direction where i am going wrong, i'd like to learn from my mistake. Thanks in advance.
       
      ~ Maffiagang
    • By kellariluukku
      Hey.
      Is there anything that does the same thing as this?
       
      Namely I'm talking about detecting when something has changed on screen.
      The FastFind library is crashing without any errors after running:
      FFSnapShot($left, $top, $right, $bottom, 0) FFSnapShot($left, $top, $right, $bottom, 1) $diff = FFLocalizeChanges(0, 1) And then trying to overwritite the old snapshot (0 or 1).
      If I use always different snapshot numbers its using too much memory and will eventually crash my pc.
      I tried downloading older versions but they're not working and the author is inactive.
       
      It takes 2 snapshots and compares them returning the area that has changed very quickly (left, top, right ,bottom).
      Can anyone help me do this?
      Looping PixelGetColor would require a bunch of extra code to my purpose and its not as efficient...
       
      Thanks
       
       
    • By asiawatcher
      hi below i got one script i made which runs audacity starts a recording and ends it at specific times
       
      when i run the script even if it isn't the time to start audacity and sits idle on taskbar the pc fan gets very loud, when i close the script it comes back to normal 
       
      why this happens ? anything wrong with my code ?? cheers
      #include <INet.au3> #include <Array.au3> #include <WinAPIFiles.au3> #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <string.au3> #include <FTPEx.au3> #include <ClipBoard.au3> #include <date.au3> #include <ProgressConstants.au3> #include <IE.au3> #Include <Constants.au3> #Include <INET.au3> #include <SendMessage.au3> #include <File.au3> #include <String.au3> #include <MsgBoxConstants.au3> #include <StringConstants.au3> #include <Misc.au3> #include <FileConstants.au3> #include <WinAPI.au3> while 1 if @HOUR = '11' And @MIN = '00' Then  Run("C:\Program Files (x86)\Audacity\audacity.exe", "", @SW_MAXIMIZE) SLEEP(2000) if ProcessExists("audacity.exe") Then winactivate("Audacity") EndIf      Send("r") ;;KREVATI Sleep(1000 * 60) endif if @HOUR = '23' And @MIN = '00' Then  if ProcessExists("audacity.exe") Then winactivate("Audacity") EndIf Send("s") Sleep(1000 * 60) EndIf wend  
    • By SOCCERMOMMY
      Hello all,
      First time posting; please excuse my noobness as I am self-taught over a short period with very little programming experience.  However, I am trying to create a simple program that retrieves college basketball scores from the web, puts them into an array and writes to excel.  Ultimately I want to create an additional variable that would be a date range so the program can cycle through many pages and retrieve years worth of information at a time.  For now, I am working on a single day.  Here is where I am stuck:  I want to use _StringBetween to isolate team names while considering whether they are "winners" or "losers".  Here is a snippet from the source code i am dealing with:
      <tr class="winner">   <td><a href="/teams/MIN/2020.html">Minnesota</a></td>   <td class="right">118</td>   <td class="right gamelink">   <a href="/boxscores/202001050CLE.html">Final</a>       </td>   </tr>   <tr class="loser">   <td><a href="/teams/CLE/2020.html">Cleveland</a></td>   <td class="right">103</td>   <td class="right">&nbsp;   </td>   </tr>   </tbody>   </table>
       
      My thought was to use _Stringbetween( '<tr class ="loser> <td>' & @CRLF & '<td><a href="/teams/', '</a></td>')  
      However, i believe I am using the @CRLF out of context.  Is there another way to identify page breaks within the stringbetween function?  Complete script is attached for reference.  Appreciate the help and patience as I try to piece it all together   
      Muchos gracias.
       
       
      basketball scores x2.au3
×
×
  • Create New...