Pixel aus Firefox lesen funzt nach Update nicht mehr!
-
funktioniert es, wenn du firefox als normaler benutzer und dein programm als admin ausführst?
also wir können hier auch nur rätsel raten und probieren.
-
Dat funzt ook net
-
in der doku von getpixel steht, dass es einen fehler gibt, wenn x und y außerhalb des anwendungsbereichs sind. daher: welche dimensionen liefert getclientrect und befinden sich x und y innerhalb dieses rechtecks?
-
Ich bin zugegebenermaßen nicht ganz im Thema, aber geht das überhaupt bei Fenstern, die Hardwarebeschleunigung nutzen, so?
Was allerdings immer gehen dürfte, wäre den DC den Screens zu besorgen und dessen Inhalt in ein eigenes Bitmap blitten. Anschließend noch die Fensterposition bestimmen und mit diesen Offsets den Pixel im Bild suchen.
Funktionen wie PrintWindow scheitern auch bei diesen Inhalten.
-
@Wade1234 sagte in Pixel aus Firefox lesen funzt nach Update nicht mehr!:
in der doku von getpixel steht, dass es einen fehler gibt, wenn x und y außerhalb des anwendungsbereichs sind. daher: welche dimensionen liefert getclientrect und befinden sich x und y innerhalb dieses rechtecks?
x und y sind innerhalb des Fensters, das hatte ich geprüft
-
ja also entweder liegt es daran, dass meine glaskugel seit ewigkeiten nicht aus der werkstatt zurück kommt, oder daran, dass es einfach nicht mehr geht. frag doch mal bei mozilla nach.
-
@yahendrik das Programm lief vor dem Update von Firefox.
DC des Screens gefällt mir nicht so gut, denn das Programm soll auch laufen, wenn andere Fenster über dem Firefox liegen.
-
@Wade1234 sagte in Pixel aus Firefox lesen funzt nach Update nicht mehr!:
ja also entweder liegt es daran, dass meine glaskugel seit ewigkeiten nicht aus der werkstatt zurück kommt, oder daran, dass es einfach nicht mehr geht. frag doch mal bei mozilla nach.
Da hast du nicht ganz unrecht, dass es nicht mehr geht lol
-
@bruder Hast du mal
hwnd_firefox
undhdc
gecheckt ob das gültige Werte sind? Vielleicht heisst das Firefox-Fenster nach dem Update einfach nur anders.
-
Ja, das habe ich. Beide Werte sind okay. Ich setze den Namen des Fensters selbst mit dem Add-on "Rename Tab Title".
-
Tja. Schade.
-
Stimmt. Liegt wohl doch nicht an Firefox. Habe es gerade mit Paint probiert, bekomme auch da nicht die richtigen Pixel-Werte.
-
Sogar hier pault der schon mit Error 5 ERROR_ACCESS_DENIED rum:
IntPtr hdc = Lib.GetDC(System.IntPtr.Zero);
-
No wird es vielleicht an einem Windows Update gelegen haben. Was mich wiederrum freut, weil es darauf hindeutet dass MS weiter versucht das System sicher zu bekommen.
-
Das mag dich freuen, es hilft mir nicht. Ebenso wenig wie "Tja. Schade."
-
-
@bruder sagte in Pixel aus Firefox lesen funzt nach Update nicht mehr!:
Sogar hier pault der schon mit Error 5 ERROR_ACCESS_DENIED rum:
IntPtr hdc = Lib.GetDC(System.IntPtr.Zero);
Ach.
Du hattest doch behauptet dass die Werte fürhwnd_firefox
undhdc
noch passen. Also wie jetzt?Das mag dich freuen, es hilft mir nicht. Ebenso wenig wie "Tja. Schade."
Ach.
-
also ich habe gestern mal ein wenig mit der winapi gespielt und dabei festgestellt, dass getpixel bei visual studio und dem konsolenfenster funktioniert. vermutung: probier es mal, indem du einen prozess aus deinem programm heraus erstellst.
-
Sag der Anwendung, dass sie elevated privileges braucht.
-
@hustbaer sagte in Pixel aus Firefox lesen funzt nach Update nicht mehr!:
Du hattest doch behauptet dass die Werte für
hwnd_firefox
undhdc
noch passen. Also wie jetzt?Yupp, hdc != NULL und der Wert von hwnd_firefox ist korrekt, trotzdem gibt es Error 5 ERROR_ACCESS_DENIED
@DocShoe sagte in Pixel aus Firefox lesen funzt nach Update nicht mehr!:
Sag der Anwendung, dass sie elevated privileges braucht.
Hatte es mit Adminrechten bereits versucht aber das hilft nicht. Oder meinst du einen Fahrstuhl der höher fährt als bis zu den Adminrechten?
@Wade1234 sagte in Pixel aus Firefox lesen funzt nach Update nicht mehr!:
also ich habe gestern mal ein wenig mit der winapi gespielt und dabei festgestellt, dass getpixel bei visual studio und dem konsolenfenster funktioniert. vermutung: probier es mal, indem du einen prozess aus deinem programm heraus erstellst.
Ja supie. Du meinst einfach ne Konsole aus dem WinForms Proggie aus starten? Teste ich morgen mal