Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
06.07.14, 14:48
|
#1
|
Anfänger
Registriert seit: Aug 2010
Beiträge: 7
Bedankt: 0
|
Desktopüberwachung möglich?
Hallo,
ich suche ein Programm mit dem ein eine bestimmte und mehrere Positionen auf dem Desktop auf Veränderungen überwachen kann, unabhängig vom Programm. Also sozusagen ein Overlay. Bei Veränderung soll ein Ton ausgegeben werden.
Wenn es sowas nicht gibt, mit was Programmiert man das und wie schwer? Wäre auch lernwillig, da ich andauernd spezielle Wünsche habe die es sonst nicht zu finden gibt...
mfg
WB
|
|
|
06.07.14, 15:52
|
#2
|
Newbie
Registriert seit: Oct 2010
Beiträge: 95
Bedankt: 80
|
Ich hoffe mal, dass du damit kein Unfug anstellen willst!
Ein einfacher aber auch unschöner Weg ist es über das auslesen der Pixelwerte zu machen.
1. Bild vom Monitior/Monitor Bereich nehmen des Soll-Zustandes
2. In Zeitintervallen neue BIlder erstellen --> prüfen ob diese Ausschnitte sich um xy% Unterscheiden
3. Wenn ja Ton ausgeben
Ein solches Programm ist innerhalb weniger Minuten geschrieben.
|
|
|
06.07.14, 16:20
|
#3
|
Anfänger
Registriert seit: Aug 2010
Beiträge: 7
Bedankt: 0
|
Unfug nein. Will nur ein lauten langen Ton haben wenn ich bei Civilization und andere rundenbasierte Spiele an der Reihe bin oder was anderes passiert.
Ich kenn mich ja nicht aus, ich nehme an das funktioniert über Java? Bei dir wenige Minuten, bei mehr mehrere Wochen 
Würde gerne wissen wie ich in das Thema reinkomme oder ob es bereits Beispiele dafür gibt. Für Dummies sozusagen
|
|
|
06.07.14, 20:02
|
#4
|
Anfänger
Registriert seit: Aug 2010
Beiträge: 7
Bedankt: 0
|
Auch nicht im Fenstermodus? Habe Spiele, die funktionieren von Haus aus nur im Fenstermodus und sind darauf ausgelegt. Müssten auch jenseits der Zeit der 3D-Beschleunigung programmiert.
Ansonsten würd ich das unabhängig davon gerne einfach mal probieren, weiß aber nicht wo ich ansetzen muss... Da brauch ich nur ein wenig Starthilfe
|
|
|
07.07.14, 08:08
|
#5
|
Newbie
Registriert seit: Oct 2010
Beiträge: 95
Bedankt: 80
|
Wenn du das mit dem Image-Vergleich machen willst und schnell eine Lösung brauchst, kannst du die Robot-Klasse von Java verwenden. Die verfügt über eine Methode, mit der du ein Bildausschnitt als BufferedImage speichern kannst.
Das ganze ist jetzt vermutlich kein besonders gutes Beispiel wie Java-Code auszusehen hat, sollte aber ungefähr das sein was du suchst. (Eventuell geht es auch noch besser aber damit funktioniert es auch)
Code:
import java.awt.AWTException;
import java.awt.HeadlessException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
public class ScreenCapture {
public static void main(String[] args) throws HeadlessException, AWTException, InterruptedException {
Robot rob = new Robot();
BufferedImage refImage = rob.createScreenCapture(new Rectangle(new Rectangle(200,500)));
while(true)
{
BufferedImage image = rob.createScreenCapture(new Rectangle(200,500));
for(int i = 0; i < image.getWidth()-1; i = i+2)
{
for(int j = 0; j < image.getHeight()-1; j = j+2)
{
System.out.println(i+" "+j);
if(image.getRGB(i, j) != refImage.getRGB(i, j))
{
System.out.println("FOUND!!");
}
}
}
Thread.sleep(3000);
}
}
}
|
|
|
08.07.14, 15:41
|
#6
|
Anfänger
Registriert seit: Aug 2010
Beiträge: 7
Bedankt: 0
|
Danke. Jetzt, weil ich ja neu auf dem Gebiet bin, muss ich das erstmal für mich entschlüsseln was für was steht und wie ich dann die Werte dementsprechend verändere.
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:15 Uhr.
().
|