Jump to content
Sign in to follow this  
DeathRow

PixelSearch for masked or HIDDEN windows ? Possible ?

Recommended Posts

How can I search for a certain color in a background or masked window by other windows( no minimized ), and get the color's relative window's coordinates ;) ??

Is it possible ? I appreciate any help....

Edited by DeathRow

Share this post


Link to post
Share on other sites

It is better to simply look at the controls of the application.

You better didn't answer...

I don't want to click anything ! I want to know the position of a certain image while the window is masked by other windows or minimized.

Thanks for your high quality post

Share this post


Link to post
Share on other sites

PixelSearch will not work on a program that is minimized or not visible.

Yes,I observed, and even if is masked by other window it won't work.Pretty bad ;)

But is there any UDF for AutoIt that could do this ?

Or the API from MSDN ? I don't know how to search there...

Share this post


Link to post
Share on other sites

If it is a simple static window then are there controls on the window? Second, is it a standard window or a custom type such as a java window?

what happens when you use the AutoIt Window info tool on the window in question?

Edited by Bellicus

Share this post


Link to post
Share on other sites

Well I need to find certain colors in an image and to get the coordinates of them. I don't need any controls or buttons... and is a standard image.

And when I use AWindow Tool its finding the color

Thankyou for replies ... and I was looking towards the method of capturing a bitmap of the window in memory and to search invisible on that bitmap the position of the pixel I want to find = > finding the pixel on a hidden window ;)

Edited by DeathRow

Share this post


Link to post
Share on other sites

Your not making sense. You say "I need to find certain colors in an image and to get the coordinates of them" and say at the same time it is a static window. If it is static then why do you need to search for certain colors? Static means the image doesn't change. You imply the image changes. Does the image change? Either way would you care to share a screenshot of the image you are dealing with? That would make it much easier to see what we are dealing with.

Share this post


Link to post
Share on other sites

Your not making sense. You say "I need to find certain colors in an image and to get the coordinates of them" and say at the same time it is a static window. If it is static then why do you need to search for certain colors? Static means the image doesn't change. You imply the image changes. Does the image change? Either way would you care to share a screenshot of the image you are dealing with? That would make it much easier to see what we are dealing with.

O sorry I didn't know the real difference ;) Its a webbrowser window and I want to download many photos while hidden to not interference with my usual activity like playing a game. But the images aren't moving, the browser's window is sometimes increasing or decreasing in dimention. So everytime I need to ckeck for a certain color and get the coordinates while hidden or minimized

Edited by DeathRow

Share this post


Link to post
Share on other sites

That makes more sense. There is a different approach that would work much better for you seeing how you are downloading pictires. If you look at IE.au3 you can get all the pictures using

_IEImgGetCollection

look in the help file and you can see an example of how to get a collection. It would be a simple matter of downloading the images once you get the collection. That way you don't need to worry about the IE window interfering with anything else you are doing.

Share this post


Link to post
Share on other sites

That makes more sense. There is a different approach that would work much better for you seeing how you are downloading pictires. If you look at IE.au3 you can get all the pictures using

_IEImgGetCollection

look in the help file and you can see an example of how to get a collection. It would be a simple matter of downloading the images once you get the collection. That way you don't need to worry about the IE window interfering with anything else you are doing.

I forgot to mention that I can't use IE or Google Chrome and can't install that plug-in for FireFox to work with the UDF because of good reasons ;) ( long story....but trust me I can't )

I can use only Firefox lol, so I need to adapt for it ...

Share this post


Link to post
Share on other sites

Why can't you use IE? It is built into windows. Does your location or who owns the machine block you?

Unfortunetly...yes..;)( Thats why I cant use it

But please I don't want to deviate from the subject, How can I search for a specific pixel color in a background hidden window ??

Share this post


Link to post
Share on other sites

Then we can't help you for we will not be a part of you trying to evade or bypass security. Either use it for legit reasons with the owner's blessing or don't do it at all. Your choice.

Edited by Bellicus

Share this post


Link to post
Share on other sites

Then we can't help you for we will not be a part of you trying to evade or bypass security. Either use it for legit reasons with the owner's blessing or don't do it at all. Your choice.

What do you mean by bypass security ? What security ??

You didn't understand what Im asking for, I want to know how can I find a pixel color in a background window, the same subject was posted in other threads too but I don't know how to apply it, I appreciate if anyone could help me.

Share this post


Link to post
Share on other sites

You didn't understand what Im asking for, I want to know how can I find a pixel color in a background window, the same subject was posted in other threads too but I don't know how to apply it, I appreciate if anyone could help me.

Manadar's (and Greenseed's) example.au3 and _PixelGetColor.au3 provide working example of how to basically take a screenshot to memory then pixelsearch it. You've previously linked to it, here it is again. After reading about it then running it, seems to work fine for me. You need to temporarily bring up the window to search so you can get a screenshot, then hide the window, then you can search the screenshot later on in your script. For me I brought Firefox to the foreground-maximized, took the "screenshot", then hid the Firefox window again. I then searched the 10x10 pixel box in the top left corner (starting at 0,0) for the color 0xDCCEBF and found it at several locations: 0,3; 1,3; and 2,3.

Edited by MrMitchell

Share this post


Link to post
Share on other sites

What do you mean by bypass security ? What security ??

You didn't understand what Im asking for, I want to know how can I find a pixel color in a background window, the same subject was posted in other threads too but I don't know how to apply it, I appreciate if anyone could help me.

You said yes to this question: "Does your location or who owns the machine block you?"

That means you are trying to get past a security measure.

Understand now?

Share this post


Link to post
Share on other sites

You said yes to this question: "Does your location or who owns the machine block you?"

That means you are trying to get past a security measure.

Understand now?

Yes I said that, and its true, but you understand me wrong, its my computer and my parents blocked my computer with limited user account( they are paranoid ) and they say to not use IE and uninstalled it ;) and with limited access I cant install it :) so I really need to do it on the default browser ff

Edited by DeathRow

Share this post


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
Sign in to follow this  

  • Similar Content

    • By user4157124
      ConsoleWrite('>Message here.' & @CRLF) outputs colored text (per + > - ! characters).
      ConsoleWrite('warning' & @TAB & '38' & @TAB & 'more text ...' & @CRLF) enables jump to line 38 on doubleclick.

      Using "jump to line" format, only red and pink text coloring seems possible (simply prefixing color directives to output-text disables jump to line functionality). Is it possible to combine the two (define custom color while keeping "jump to line" functionality)?
    • By Miliardsto
      I have the following code. You can see there are $color_normal and $color_trans
      In my case normal is too dark . And color trans is to much violet.
      If you run it you will see how its looks. I want gui with listView have the same color like taskbar in windows 10.
      How to achieve that?
       
       
      #include <Date.au3> #include <MsgBoxConstants.au3> #include <GuiListBox.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <GuiListView.au3> HotKeySet("{ESC}", "Terminate") $color_normal = "0x" & StringLeft(StringRight(RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Accent", "AccentPalette"), 24), 6) $color_trans = "0x" & StringLeft(StringRight(RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Accent", "AccentPalette"), 16), 6) $trans = RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize", "EnableTransparency") ConsoleWrite("Transpart = " & $trans & @CRLF) ConsoleWrite("Color normal = " & $color_normal & @CRLF) ConsoleWrite("Color trans = " & $color_trans & @CRLF) ConsoleWrite(_Get_taskbar_color()); It return AARRGGBB $taskbarColor = _Get_taskbar_color() Global $gui = GUICreate("Test", 150, 58,@DesktopWidth-300,@DesktopHeight-58,$WS_POPUP,BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW)) Global $idListview = GUICtrlCreateListView("", 0, 0, 150, 58,BitOR($LBS_NOTIFY,$LBS_SORT), 0) ;_GuiCtrlMakeTrans(-1,100) ; Add column _GUICtrlListView_AddColumn($idListview, "Msgs", 100) GUICtrlSetFont(-1, 7, 400, 0, "Segoe UI") GUICtrlSetColor(-1, 0x470C4F) GUICtrlSetBkColor($idListview, 0x310638) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func Terminate() Exit EndFunc Func _Get_taskbar_color() If RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize", "ColorPrevalence") Then If RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize", "EnableTransparency") Then Return "0xD9" & StringLeft(StringRight(RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Accent", "AccentPalette"), 16), 6) Else Return "0xFF" & StringLeft(StringRight(RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Accent", "AccentPalette"), 24), 6) EndIf Else If RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize", "EnableTransparency") Then Return "0xD9000000" Else Return "0xFF000000" EndIf EndIf EndFunc  
    • By ThePoro
      Hi everyone.
      I want to ask about this : 
      I want it runs from 1 to 100 and It opens 10 firefox profiles then access youtube. After I close a firefox window, the loop runs and wait for another window close until loop ends
      I have a loop like this.
      Func launch() Local $from = Int(GUICtrlRead($input1)) Local $to = Int(GUICtrlRead($input2)) If $to <> "" Then While $from <= $to Local $profile = $to _RunDos("start firefox.exe -p " & $profile & " -no-remote youtube.com") $to=$to+1 WEnd Else Local $profile = $to _RunDos("start firefox.exe -p " & $profile & " -no-remote youtube.com") EndIf EndFunc Is there any solution?
      Thank you!
    • By Skeletor
      Hey All,
      Yes, this is an odd request. 
      But is there a way to bulk up the size of the compiled program? 
      I know many want to reduce it's size, but I want to increase it.
      What methods do you suggest?
    • By Rhidlor
      I was wondering if there was a library or something which provides the capability to Send() to inactive windows, and I know what you're thinking, I could just use ControlSend(); the reason I can't use that in this situation is because I need to hold down keys for specific prolonged periods of time. Also activating the window, Send()ing then de-activating the window isn't really an option here, I need the target window to always be in the background. I've looked around the forums for an adequate amount of time and didn't find anything useful, perhaps because the threads were all 10 years old, nevertheless, if anyone has any suggestions they would be greatly appreciated.
      Thanks!
×
×
  • Create New...