Ich will ein kleines "Spionageprogramm" schreiben dabei stoß ich aber immer auf folgendes Problem:
Das Programm soll nur aktiv werden wenn es zwischen 18 und 6 Uhr ist, ich habe daher eine Abfrage eingebaut. Mein Problem ist jetzt aber wenn ich das Programm einige Zeit am Tag laufen lasse und dann die Uhr vorstelle, schiest der mir rund 20 s jede sekunde ein Bild danach verfällt der in den Standard 1 minuten Takt. Ich kann mir einfach nicht erklären woran das liegt, es sieht ja fast so aus als würde der sich an der Unterscheidung aufhängen und warten.
habt Ihr eine Idee woran das liegt?
Das Programm soll nur aktiv werden wenn es zwischen 18 und 6 Uhr ist, ich habe daher eine Abfrage eingebaut. Mein Problem ist jetzt aber wenn ich das Programm einige Zeit am Tag laufen lasse und dann die Uhr vorstelle, schiest der mir rund 20 s jede sekunde ein Bild danach verfällt der in den Standard 1 minuten Takt. Ich kann mir einfach nicht erklären woran das liegt, es sieht ja fast so aus als würde der sich an der Unterscheidung aufhängen und warten.
habt Ihr eine Idee woran das liegt?
Java:
package
control;
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;
import
java.io.File;
import
java.io.IOException;
import
java.text.DateFormat;
import
java.text.SimpleDateFormat;
import
java.util.Date;
import
java.util.Timer;
import
java.util.TimerTask;
import
javax.imageio.ImageIO;
public
class Start {
/**
* Funktion für das Programm
*/
public static void main(String[] args) {
Timer screenshot;
screenshot =
new Timer();
screenshot.scheduleAtFixedRate(
new TimerTask() {
@Override
public void run() {
DateFormat dfmt =
new SimpleDateFormat( "HH" );
int uhr;
uhr = Integer.parseInt(dfmt.format(
new Date()));
if(!(uhr<18 && uhr > 6))
{
BufferedImage bi=
null;
try {
bi =
new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) );
}
catch (HeadlessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
catch (AWTException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
ImageIO.write( bi,
"jpg", new File(System.currentTimeMillis() / 1000 + ".jpg"));
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}, 60000, 60000);
}
}