Juniors WorkstationLidos BerlinComputer PassDies und Das
Nutzungsbedingungen    Datenschutz    Impressum       Kontakt        Registrieren       <== zurück zur Startseite    
 
  Lernen durch Lehren
 
  LDL - Wissenswertes
  LDL - Hardwaretests
  LDL - Softwaretests
  LDL - Tipps & Tricks
  LDL - Workshops
 


  Profan² Einsteiger FAQ 7.5
 
  Profan² Einsteiger FAQ 7.5
  Profan² an die Schulen
  Profan² Script - FAQ
  Profan² Erweiterungen
  Profan² Helferlein
  Profan² Quellcode
 


  HTML Einsteiger FAQ 4.07
 
  HTML Einsteiger FAQ 4.07
  HTML indirekte Fragen
  kleine JavaScript FAQ
 


250 MB mit PHP / MySQL
 
Sie suchen noch Webspace, der kosten- und werbefrei ist, PHP (5.x) und MySQL (3.x) unter- stützt ...

Sie haben Fragen und benötigen Antworten
 
Das verstehen wir - und genau aus diesem Grund haben wir versucht, auf Ihre (am häu- figsten) gestellten Fragen zu antworten.
 
Lern- und Lehrbereich: Juniors Workstation
 
   einen Beitrag auswählenzum Anfang eine Seite zurück  eine Seite vor zum Ende     
   Bereich Kennung Zuordnung Klick Titel 
11  Workstation FAQ Profan Profan-FAQ103586  Profan² - eine Programmiersprache Profan-FAQ - Profan² - eine Programmiersprache
12  Workstation FAQ Profan Profan-FAQ39622  Profan² - dieser Name steht für ein Programmiersystem Profan-FAQ - Profan² - dieser Name steht für ein Programmiersystem
13  Workstation FAQ Profan Profan-FAQ44846  Profan² - eine Scriptsprache Profan-FAQ - Profan² - eine Scriptsprache
14  Workstation FAQ Profan Profan-FAQ44736  Profan² - eine Datenbank-Sprache Profan-FAQ - Profan² - eine Datenbank-Sprache
15  Workstation FAQ Profan Profan-FAQ42819  Profan² - Versionen im Download Profan-FAQ - Profan² - Versionen im Download
16  Workstation FAQ Profan Profan-FAQ46402  Was sind Ereignisse? Profan-FAQ - Was sind Ereignisse?
17  Workstation FAQ Profan Profan-FAQ46765  Was ist eine Multimedia-Schnittstelle? Profan-FAQ - Was ist eine Multimedia-Schnittstelle?
18  Workstation FAQ Profan Profan-FAQ49439  Was ist und enthält eine Windows-Nachricht? Profan-FAQ - Was ist und enthält eine Windows-Nachricht?
19  Workstation FAQ Profan Profan-FAQ46777  Definitionen, Funktionen und Operatoren unter Profan² Profan-FAQ - Definitionen, Funktionen und Operatoren unter Profan²
33  Workstation FAQ Profan Profan-FAQ47903  Einiges über Variablen und Platzhalter ... Profan-FAQ - Einiges über Variablen und Platzhalter ...

135 registrierte Beiträge gefunden; davon werden aktuell 10 angezeigt. 

 
   Wie kann ich den Bildschirmschoner umgehen?

Um nun zu vermeiden, daß der Anwender erst jedesmal seinen Bildschirmschoner deaktivieren muß, sollte der Programmierer das schon für den Anwender machen.

In vielen Programmen wende ich folgende Variante an:

Zunächst:
Ein Bildschirmschoner ist in der SYSTEM.INI von Windows registriert! Anders gesagt:
Ich prüfe zuerst, ob überhaupt ein Bildschirmschoner registriert (aktiv) ist.

  let schoner$ = @readini$("SYSTEM.INI","BOOT","SCRNSAVE.EXE")
  if @or(@equ$(schoner$,""),@equ$(@mid$(schoner$,1,1),"("))
   let schoner$ = "#"
  else
   @WriteIni "SYSTEM.INI","BOOT","SCRNSAVE.EXE"= "(Kein)"
  endif

Was habe ich gemacht?

  1. Zeile des Schoners auslesen
  2. ist keiner da, merke schoner$ = "#"
  3. ist einer da, trage ein "kein Bildschirmschoner"
      - Schoner steht jetzt in schoner$

Günstig ist in diesem Zusammenhang, einen Doppelstart zu verhindern:

 case @gt(@getusage(%hinstance),1):end 

Und ganz nützlich im Programm (wenn mal einer Pause machen will - oder Sie wollen den eigenen Schoner laufen lassen - das geht auf diese Weise auch):

... das Ein- bzw. Ausschalten eines Menüpunktes:
      appendmenu 100,"&starten des Bildschirmschoners"

... und im Programm dann etwa so aufzurufen:

   ....
     elseif @equ(%menuitem,100)
      If @equ$(schoner$,"#")
       @MessageBox("Kein Schoner","Hinweis",48)
      else
       Shell @add$(schoner$," /S")
      endif
     elseif
   ....

Ganz wichtig zum Programmende noch folgende Zeile nicht vergessen!:
case neq$(schoner$,"#"):WriteIni "SYSTEM.INI","BOOT","SCRNSAVE.EXE"=schoner$

Also wenn nicht "#" gemerkt, dann schreibe Schoner zurück, sonst bleibt der Bildschirmschoner verschwunden.

Und noch zwei Bemerkungen dazu:

Sie sollten in jedem Fall das Systemmenü im Auge behalten, damit das Programm durch den Anwender immer kontrolliert beendet wird, z.B.:

 if %menuitem:
    (siehe auch windowstyle 256)

  -3808  Wiederherstellen
  -4064  Verkleinern (zum Symbol)
  -4048  Vergrößern (zum Vollbild)
  -4000  Schließen (Alt-F4)
  -3792  Wechseln zu ... (Taskmanager)

Wenn Sie nicht wissen, auf welchem System das Programm laufen soll:
Unter Windows 3.x ist unbedingt folgendes nach dem Programmstart zu machen, sonst funktioniert die Geschichte wahrscheinlich nicht in jedem Fall:
(der SCR -Eintrag muß unter Windows 3.x vorhanden sein, ab Windows 95 (Version b) entfällt diese Abfrage)

   let x$= @readIni$("WIN.INI","WINDOWS","PROGRAMS")
   ifnot @instr("SCR",x$)
    let x2$ = @add$(x$," SCR")
    @writeini "WIN.INI","WINDOWS","PROGRAMS"= x$
    @messagebox("Windows wird neu gestartet!","Hinweis",48)
   endif

Hinweis:
Wurde der Eintrag in der win.ini vorgenommen, muß(!) Windows neu gestartet werden, damit der SCR -Eintrag wirksam wird.

Und denken Sie auch daran, dem Anwender die Möglichkeit einzuräumen, eventuell auf das Systemmenü (will sagen: Bildschirmschonereinstellungen ändern) zugreifen zu können. Wenn das Programm zum Icon gemacht wird, muß zuvor der Bildschirmschoner zurückgeschrieben und danach wieder neu entfernt (eingelesen) werden.

©2012 Lidos Berlin - alle Rechte vorbehalten.