Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 14:27

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



PixelGetColor defekt? If-Befehl startet nicht

Discussion on PixelGetColor defekt? If-Befehl startet nicht within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2011
Posts: 43
Received Thanks: 0
PixelGetColor defekt? If-Befehl startet nicht

Hallo,

ich bin am verzweifeln. Ich möchte meine Emails im Hintergrund abrufen lassen. Wenn ich dann eine neue Email bekomme, ladet die Standardmäßig in einem Ordner (Outlook Express 6 Nachrichten Regel), diese email enthält immer eine Anlage. Und genau diese soll AutoIt jetzt speichern und mich danach benachrichtigen.
Dazu werden die Emails abgerufen. Wenn jetzt aber einen neu Mail da ist, erscheint neben dem Ordner eine "1" in blau. Dies soll AutoIT erkennen und dann weitermachen, oder eben immer wieder emails abrufen:

PHP Code:
;Einzufügende Dateien (sind für das spätere Script wichtig (GUI))
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <sound.au3>
;"Test"-Script:

Run ("c:\Programme\Outlook Express\msimn.exe") ;soll später (@SW_HIDElaufen!
;
Abrufen der Emailsnur ein Kontodeshalb der Umweg
Sleep 
(2000)
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""{!}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""X")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""U")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Enter}")
Sleep (3000)
;
Prüfen der Pixelfarbeob eine "1" hinter dem Ordner steht neue Email
$neuenachrichtpruefen 
PixelGetColor (118,334)
Sleep (100)
;
wird nicht ausgeführtobwohl die Pixelfarbe stimmt
If Not $neuenachrichtpruefen <> 0x0000FF Then
Do
Sleep (2000)
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""{!}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""X")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""U")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Enter}")
Sleep (3000
$neuenachrichtpruefen PixelGetColor (118,334)
Until $neuenachrichtpruefen 0x0000FF
Else
_Anlagenspeichern()
Sleep (100)
_Song()
EndIf 


Mein Problem ist jetzt, dass der Befehl "PixelgetColor" irgendwie nicht funktioniert, denn das Script beendet sich dann einfach, obwohl die Farbe eigentlich stimmt. (mehrfach mit Autoit Toll gecheckt). Welche lösungsansätze habt ihr? Wo könnte das problem liegen?

Danke!
jojokineu is offline  
Old 10/26/2011, 15:00   #2
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
PixelGetColor gibt den Decimalwert aus.

So sollte es gehen..
If Hex($neuenachrichtpruefen, 6) == "0000FF" Then


Bei der Do-Until-Schleife auch ändern.
omer36 is offline  
Thanks
1 User
Old 10/26/2011, 17:01   #3
 
elite*gold: 0
Join Date: Oct 2011
Posts: 43
Received Thanks: 0
JAAA! es klappt! Danke!

Noch ne Frage: Wie wird das Script nachdem "Until" erfüllt wurde vorgesetzt?

Es sollen die gleichen Zeilen wie bei "else" vorgeführt werden.

Danach, dann das restscript. Wie kann ich das am einfachsten machen?

Danke!
jojokineu is offline  
Old 10/26/2011, 18:03   #4
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
Könntest du z.B. auch so machen:

PHP Code:

$neuenachrichtpruefen 
PixelGetColor (118,334)

While ( 
Hex($neuenachrichtpruefen6) == "0000FF" )
Sleep (2000)
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""{!}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""X")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""U")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Enter}")
Sleep (3000)
WEnd
_Anlagenspeichern
()
Sleep (100)
_Song() 
omer36 is offline  
Old 10/27/2011, 15:10   #5
 
elite*gold: 0
Join Date: Oct 2011
Posts: 43
Received Thanks: 0
das klappt irgendwie nicht. egal ob eine neue nachricht da ist oder nicht, er führt immer die funktion "Anlagenspeichern" aus.
Was kann da falsch sein?

Sonst hat es auch immer funktioniert, als ich noch keine Endlos-Schleife (mit ControlClicks, soll später im hintergrund laufen; ist das überhaupt mit pixelgetcolor möglich?) bis zum erfolgreichen empfang eingerichtet hatte.

Hier mein Script:

PHP Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <sound.au3>
;Prüft einmal die EmailsRuft dann alle 20 Sekunden die Emails abSetzt bei Erfolg das Skript fort.

Run ("c:\Programme\Outlook Express\msimn.exe")

Sleep (1500)
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""{!}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""X")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""U")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Enter}")
Sleep (3000)
$neuenachrichtpruefen PixelGetColor (112,333)
Sleep (1000)

$neuenachrichtpruefen PixelGetColor (118,334)

While (
Hex($neuenachrichtpruefen6) == "0000FF" )
Sleep (2000)
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""{!}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""X")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]""U")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Down}")
ControlSend("Posteingang","""[CLASS:ToolbarWindow32; INSTANCE:3]","{Enter}")
Sleep (3000)
WEnd
_Anlagenspeichern
()
Sleep (100
Ich hoffe ihr könnt mir helfen..
Danke!
jojokineu is offline  
Old 10/27/2011, 20:42   #6
 
bollen's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 221
Received Thanks: 71
pixelgetcolor ist nicht im Hintergrund möglich da die Grafikkarte nur das zeichnet was auch angezeigt wird.

Quote:
soll später im hintergrund laufen; ist das überhaupt mit pixelgetcolor möglich?
Nein, es ist leider nicht möglich da die Grafikkarte nur das zeichnet was im sichtbaren bereich liegt. Wenn es später im Hintergrund laufen soll must du mit es mit dem Speicher machen.
bollen is offline  
Old 10/27/2011, 22:01   #7
 
elite*gold: 0
Join Date: Oct 2011
Posts: 43
Received Thanks: 0
ok. das lässt sich dann vielleicht noch regeln. aber nun zum script. wieso funktioniert das nicht? alles läuft doch im vordergrund?

Ich bin für jede hilfe dankbar!
jojokineu is offline  
Old 10/27/2011, 23:22   #8
 
bollen's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 221
Received Thanks: 71
versuchs mal mit:
Code:
[FONT=Courier New][COLOR=#0000bb]$neuenachrichtpruefen [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]PixelGetColor [/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]118[/COLOR][COLOR=#007700],[/COLOR][COLOR=#0000bb]334[/COLOR][/FONT][FONT=Courier New][COLOR=#007700])

While [/COLOR][COLOR=#0000bb]$neuenachrichtpruefen[/COLOR][COLOR=#007700]= 255[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]
[/COLOR][COLOR=#0000bb]Sleep [/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]2000[/COLOR][/FONT][FONT=Courier New][COLOR=#007700])
[/COLOR][COLOR=#0000bb]ControlSend[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"Posteingang"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]""[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]"[CLASS:ToolbarWindow32; INSTANCE:3]"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]"{!}"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700])
[/COLOR][COLOR=#0000bb]ControlSend[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"Posteingang"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]""[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]"[CLASS:ToolbarWindow32; INSTANCE:3]"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]"X"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700])
[/COLOR][COLOR=#0000bb]ControlSend[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"Posteingang"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]""[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]"[CLASS:ToolbarWindow32; INSTANCE:3]"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]"U"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700])
[/COLOR][COLOR=#0000bb]ControlSend[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"Posteingang"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]""[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]"[CLASS:ToolbarWindow32; INSTANCE:3]"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]"{Down}"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700])
[/COLOR][COLOR=#0000bb]ControlSend[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"Posteingang"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]""[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]"[CLASS:ToolbarWindow32; INSTANCE:3]"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]"{Down}"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700])
[/COLOR][COLOR=#0000bb]ControlSend[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"Posteingang"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]""[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]"[CLASS:ToolbarWindow32; INSTANCE:3]"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]"{Down}"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700])
[/COLOR][COLOR=#0000bb]ControlSend[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"Posteingang"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]""[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]"[CLASS:ToolbarWindow32; INSTANCE:3]"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#dd0000]"{Enter}"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700])
[/COLOR][COLOR=#0000bb]Sleep [/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]3000[/COLOR][/FONT][COLOR=#007700][FONT=Courier New])
[/FONT][/COLOR][COLOR=#0000bb][FONT=Courier New]WEnd
_Anlagenspeichern[/FONT][/COLOR][FONT=Courier New][COLOR=#007700]()
[/COLOR][COLOR=#0000bb]Sleep [/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]100[/COLOR][/FONT][COLOR=#007700][FONT=Courier New]) [/FONT]
[/COLOR]

bollen is offline  
Old 10/28/2011, 09:31   #9
 
elite*gold: 0
Join Date: Oct 2011
Posts: 43
Received Thanks: 0
funktioniert leider auch nicht. Ich habe aber jetzt mithilfe der Msgbox heruasgefunden, dass $neuenachrichtpruefen immer nur die Farbe "16777215" enthält. Das heißt, dass die PixelGetColor an der stelle neben dem ordner nicht richtig funktioniert. Dies war bis jetzt zwar immer der fall, aber irgendwie verrutscht alles dann um einen pixel und es wird die weiße farbe genommen, anstatt der blauen 1.

Gibt es da vielleicht einen andere möglichkeit, das weiterlaufen des scripts auf den empfang einer neuen email zu beschränken?

Danke!
jojokineu is offline  
Reply


Similar Threads Similar Threads
Root Server DB startet nicht bzw wird nicht gefunden?
09/18/2011 - Metin2 Private Server - 4 Replies
Also wenn ich meinen Root Server starte: Starting Database .. Real Server Log Offlog_file_delete_old: stat: No such file or directory mysql_real_connect: Unknown database 'player' failed, retrying in 5 seconds Starting Auth ..
GM Befehl funkt nicht =(
09/11/2011 - WoW Private Server - 2 Replies
Heyho Leute, ich dacht ich bau mir mal aus Spaß nen kleinen Server, jedoch klappt der GM Befehl .modify gold nicht... wurd der durch nen anderen ersetzt? hab schon bei google gesucht aber nichts gefunden ... Benutze Novos easy handler 0.4.3 mit client 3.3.5a Greetz Napa
Befehl nicht gefunden
06/20/2010 - Metin2 Private Server - 1 Replies
Hallo. Ich habe einen Server, bin da auch GM ( logisch ). Nur bringt es mir nichts, denn immer wenn ich einen Befehl eingebe. " Befehl existiert nicht " Was kann ich tun ? PS* Verwende seit gerade eben die Files von Profizocker davor hatte ich die Instand bei denen hats perfekt geklappt. Danke
HILFE Mein PServer Startet nicht bzw. 8 Fehlermeldung kommt nicht
12/21/2009 - Metin2 Private Server - 12 Replies
Hi ich hab ein kleines Problem ich hab ein Server erstellt nur der funzt i-wie nicht ich starte PortMap alle Lichter sind grün starte den den server und warte bis 8 Fehlermeldungen kommen doch es kommen nur 7 weiss einer warum ...???
Hilfe komme nicht mehr in die db und server startet nicht
12/14/2009 - Metin2 Private Server - 11 Replies
Hilfe komme nicht mehr in die db und server startet nicht hier die bilder wass habe cih falsch gemacht http://www.fotos-hochladen.net/unbenanntutp31w5a. jpg und http://www.fotos-hochladen.net/unbenannt190xkqyr5 .jpg



All times are GMT +1. The time now is 14:32.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.