Monitor-Standyby verhindern

illexx

Mitglied
Liebe Java-Freunde,
google zeigt mir die kalte Schulter bei dem folgenden Problem:

Ich habe eine Fullscreen-Anwendung programmiert, die ähnlich wie der Presentationmode von Powerpoint dauerhaft zu sehen sein soll.
Problem: Der Monitor geht irgendwann in den Standby, da er Energie sparen möchte.

Wie kann ich das verhindern? Wie sorge ich dafür, dass der PC merkt, dass dort noch etwas passiert?

Grüße
 

illexx

Mitglied
Lieben Dak für deine schnelle Antwort.
Das kann leider nicht die Lösung sein. Wenn ich eine PowerPoint Präsentation starte, will ich ja auch nicht immer die Energieoptionen ändern ;)
 

VfL_Freak

Top Contributor
Moin,

muss er denn sonst unbedingt laufen?
Ich habe meine Monitore (Arbeit und privat) immer auf "Dauerbetrieb" geschaltet!

Da ich mal vermute, dass Deine Präsentation selbstständig abläuft, ohne dass Du eine Eingabe machen musst, wird es IMHO nicht anders gehen ...

Stellt sich höchstens die Frage, wie die "Energieoptionen" eine Aktivität für sich definieren!

Gruß
Klaus
 

illexx

Mitglied
Mein Fehler: Habe mich nicht klar genug ausgedrückt.

Ich entwickle eine Software, die Kunden einer Firma zu ihrem persönlichen Gespräch begrüßt.
Ein schöner Screen, auf dem dann steht "Guten Morgen Herr Muster, willkommen bei Muster GmbH".

Wenn der Kunde den Raum betritt, hat er somit gleich ein gutes Gefühl.
Der Screen sollte natürlich nicht während des Gesprächs verschwinden.
Früher wurde das also mit einer PowerPoint Präsentation gelöst. Das ist aber auf Dauer weder schön, noch professionell.

Die Software ist fertig. Jedoch schaffe ich es im Gegensatz zu PPT nicht, dass der PC erkennt 'ich darf nicht den Screen abschalten!'.

Es ist KEINE Lösung alle PCs der Firma ohne Energieoptionen zu betreiben - da spielt der Vorstand nicht mit, denn das lässt a) die Energiekosten steigen und b) ist der Aufwand enorm jeden PC zu konfigurieren.

Ich brauche also eine Lösung, bei der der PC erkennt, dass die Anwendnung aktiv ist und er somit nicht schlafen geht.
Das kann ja nicht schwer sein, oder?
 

VfL_Freak

Top Contributor
Moin,

Ich brauche also eine Lösung, bei der der PC erkennt, dass die Anwendung aktiv ist und er somit nicht schlafen geht.
Das kann ja nicht schwer sein, oder?
Ah, ok ... aber ich fürchte: DOCH ;)
Wenn Deine Applikation quasi "ewig" auf dem Bildschirm ist und nur den Text anzeigt, wäre da ja genau der Fall für die Energieroption um zuzuschlagen.

Und da mit Java einzugreifen wird kaum gehen, da Java für OS-spezifische Zugriffe nicht geeignet ist.
Möglicherweise gibt es die Chance, es von einem C/C++/C#-Programm (als dll) zu tun, aber dann müsstet Du für den Zugriff das JNI nutzen, was sicher auch nicht lustig ist!

Wobei mir da spontan auch kein konkreter Weg zu einfällt. Ich vermute aber mal, dass es hierfür einen Eintrag in der System-Registrierung geben sollte, den man ggf. temporär umsetzen könnte ...

Ggf. würde ich mal in diese Richtung googlen!

Gruß
Klaus

[EDIT]
Vielleicht hilft Dir ja dieses Tool weiter:
Don't Sleep 3.03 Verhindert den Standby Modus und Abschalten
[/EDIT]
 
Zuletzt bearbeitet:

HarleyDavidson

Bekanntes Mitglied
Also ich hab mal einen kleinen Test gemacht und bei mir hat es funktioniert:

mittels eines Robots (java.awt.Robot) kannst du eine minimale Mausbewegung simulieren:

Java:
package allgtest;

import java.awt.AWTException;
import java.awt.Cursor;
import java.awt.Point;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;

public class RobotTest extends javax.swing.JFrame
{
    private javax.swing.JButton jButton1;
    public boolean i = true;
    public boolean j = true;
    Robot r;
    int x = 200;
    int y = 200;

    /**
     * Creates new form RobotTest
     */
    public RobotTest()
    {
        //Cursor verstecken
        Cursor c = Toolkit.getDefaultToolkit().createCustomCursor(
                new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB),
                new Point(1, 1), "Custom Cursor");
        
        this.setCursor(c);
        try
        {
            initComponents();
            r = new Robot();
            Thread t = new Thread( new Runnable()
            {
                @Override
                public void run()
                {
                    while ( true )
                    {
                        if ( i )
                        {
                            if ( j )
                            {
                                r.mouseMove( x, y );
                                j = false;
                            }
                            else
                            {
                                r.mouseMove( x - 1, y );
                                j = true;
                            }
                        }
                        else
                        {
                            System.out.println( "Thread gestoppt" );
                        }
                        try
                        {
                            Thread.sleep( 1000 );
                        }
                        catch ( InterruptedException ex )
                        {
                            ex.printStackTrace();
                        }
                    }
                }
            } );
            t.start();
        }
        catch ( AWTException ex )
        {
            ex.printStackTrace();
        }
    }

    private void initComponents()
    {

        jButton1 = new javax.swing.JButton();
        setDefaultCloseOperation( javax.swing.WindowConstants.EXIT_ON_CLOSE );
        jButton1.setText( "Exit" );
        jButton1.addActionListener( new java.awt.event.ActionListener()
        {
            public void actionPerformed( java.awt.event.ActionEvent evt )
            {
                jButton1ActionPerformed( evt );
            }
        } );
        this.add( jButton1 );
        this.setSize( 200, 200 );
    }// </editor-fold>                        

    private void jButton1ActionPerformed( java.awt.event.ActionEvent evt )
    {
        if ( i )
        {
            i = false;
        }
        else
        {
            i = true;
        }
    }

    /**
     * @param args the command line arguments
     */
    public static void main( String args[] )
    {
        java.awt.EventQueue.invokeLater( new Runnable()
        {
            public void run()
            {
                new RobotTest().setVisible( true );
            }
        } );
    }
}

Der Cursor wird versteckt und bewegt sich pro Sekunde um einen Pixel.

Das verhindert bei mir, dass sich der Bildschirm abschaltet. Die Dauer der Pause (Thread.sleep) lässt sich noch nach oben anpassen (hier wird pro Sekunde die Maus bewegt, eigentlich genügt ja pro Minute oder sogar noch mehr).

Hilft dir das ?
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
ralfb1105 JavaFX AreaChart als DB Monitor implementieren AWT, Swing, JavaFX & SWT 11
VfL_Freak Swing Zweiter Monitor von Java-Anwendung ansprechbar ?? AWT, Swing, JavaFX & SWT 2
O Swing JFrame auf Monitor platzieren AWT, Swing, JavaFX & SWT 3
L 2 Monitore, Fenster öffnet sich im falschen Monitor AWT, Swing, JavaFX & SWT 3
G Fenster auf zweitem Monitor platzieren AWT, Swing, JavaFX & SWT 5
S Progress Monitor mit einer Methode() verbinden AWT, Swing, JavaFX & SWT 4
richis-fragen Swing Verhindern, dass die VerticalScrollbar hüpft bei Pfeilup/-down tastendruck AWT, Swing, JavaFX & SWT 2
I Swing Verhindern, dass repaint() kaskadiert AWT, Swing, JavaFX & SWT 6
K JavaFX CSS Border (Verschiebung verhindern) AWT, Swing, JavaFX & SWT 4
S Swing Deselektion in JTable verhindern AWT, Swing, JavaFX & SWT 0
Thallius Swing "..." beim JLabel verhindern? AWT, Swing, JavaFX & SWT 3
Neumi5694 Event Handling ListSelectionEvents verhindern AWT, Swing, JavaFX & SWT 0
Neumi5694 Swing Gridbaglayout - automatische Anpassung verhindern AWT, Swing, JavaFX & SWT 1
V automatisches neuzeichnen verhindern AWT, Swing, JavaFX & SWT 3
J jFrame verschieben verhindern AWT, Swing, JavaFX & SWT 4
E SWT Popupmenu auf der Überschrift eines swt.widgets.Table verhindern? AWT, Swing, JavaFX & SWT 3
lumo SWT ScrolledComposite MouseWheel verhindern AWT, Swing, JavaFX & SWT 3
H minimieren verhindern AWT, Swing, JavaFX & SWT 4
L Swing setVisible(false) bei GridBagLayout - wie Layoutverschiebung verhindern? AWT, Swing, JavaFX & SWT 2
D Swing Dialog schließen verhindern bei Fehleingabe AWT, Swing, JavaFX & SWT 2
Developer_X Swing JTextArea verhindern von Tab AWT, Swing, JavaFX & SWT 2
DeeDee0815 AWT Flimmern verhindern AWT, Swing, JavaFX & SWT 4
S Swing Dynamische JPanels: Vertikales Strecken verhindern AWT, Swing, JavaFX & SWT 4
R Verhindern das Inhalt in JScrollPane breiter ist als JScrollPane..? AWT, Swing, JavaFX & SWT 10
C Swing Andocken einer ToolBar verhindern AWT, Swing, JavaFX & SWT 3
A Fenster maximieren (oben rechts) verhindern AWT, Swing, JavaFX & SWT 3
T Verhindern der überlagerung von JComponenten AWT, Swing, JavaFX & SWT 8
G Verhindern, das AbstractAction Text und Icons überschreibt? AWT, Swing, JavaFX & SWT 3
M ScreenUpdate verhindern AWT, Swing, JavaFX & SWT 6
T Minimieren und Maximieren eines JFrames verhindern AWT, Swing, JavaFX & SWT 9
D Sortierung beim Klicken auf Header einer JdbTable verhindern AWT, Swing, JavaFX & SWT 3
I jScrollpane: Scrollverschiebung durch Pfeiltasten verhindern AWT, Swing, JavaFX & SWT 2
M JCheckbox, das selektieren verhindern AWT, Swing, JavaFX & SWT 9
D JTable Spaltenauswahl verhindern AWT, Swing, JavaFX & SWT 3
U Flackern verhindern AWT, Swing, JavaFX & SWT 5
G JEditorPane Zeilenumbruch verhindern AWT, Swing, JavaFX & SWT 2
A JScrollPane Scrollleisten verhindern AWT, Swing, JavaFX & SWT 2
A JFileChooser verhindern von allFiles option AWT, Swing, JavaFX & SWT 2
G Verhindern von automatischen Zeilenum. in JTextPane AWT, Swing, JavaFX & SWT 2
B paint - Überlagerung verhindern AWT, Swing, JavaFX & SWT 3
S verhindern von drag-n-drop von swing componenten AWT, Swing, JavaFX & SWT 2
M JTextPane - Zeilenumbruch verhindern stoppen deaktivieren :) AWT, Swing, JavaFX & SWT 5
S DOS-Fenster verhindern AWT, Swing, JavaFX & SWT 2
P JInternalFrame: Verhindern das man es verschieben kann AWT, Swing, JavaFX & SWT 2
G JList: Anzeige von null-Werten verhindern AWT, Swing, JavaFX & SWT 3
M JTree: zusammenklappen verhindern AWT, Swing, JavaFX & SWT 3
D Schließen eines Fensters verhindern AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben