Autor |
Beitrag |
jakobwenzel
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Mo 07.11.05 20:36
Angenommen ich habe ein Programm, in dem eine längere Berechnung (o.ä.) ausgeführt wird, bei der schon mal der Bildschirmschoner anspringt, wie krieg ich den dann wieder weg?
Ich will ihn jetzt nicht generell deaktivieren, sondern einfach nur abstellen, wie wenn der User die Maus bewegt.
Ich hab das Problem jetzt nicht direkt, sondern es interessiert mich einfach.
Wie geht das?
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Mo 07.11.05 20:43
hab gegoogelt, keine Gewäh:
Bildschirmschoner deaktivieren:
Delphi-Quelltext 1:
| SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, 0, @NULL, SPIF_UPDATEINIFILE); |
Bildschirmschoner aktivieren:
Delphi-Quelltext 1:
| SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, 1, @NULL, SPIF_UPDATEINIFILE); |
|
|
jakobwenzel 
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Mo 07.11.05 20:47
Geht nich. 
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
Amateur
      
Beiträge: 777
(Win98, WinMe) WinXP Prof
D3 Prof, D6 Pers, D2k5 Pers., Turbo C++ Explorer
|
Verfasst: Mo 07.11.05 20:49
kann man nicht per api den mauszeiger verschieben oder nen tastendruck simulieren bzw. die message für nen tastendruck schicken? dann das ganze nur wenn der schoner aktiviert ist oder in nem bestimmten zeitintervall. ist sicher nicht die sauberste aber ne einfache lösung wenn man sich mit api auskennt(ich tus nicht)
_________________ "Kein dummes Gerede. Kein Rumrätseln. Denkt an nichts anderes mehr, nur noch an das, was vor euch liegt. Das ist die wahre Herausforderung. Ihr müßt euch vor euch selbst schützen, Leute." (Rennes in "Cube")
Beiträge: >700
|
|
jakobwenzel 
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Mo 07.11.05 20:53
@Amateur: Das geht sicherlich, ich weiß nur nicht wie man das macht. Die Frage ist halt, ob Windows das als Grund annimmt, den Bildschiormschoner abzuschalten.
@Tilman: Ich hab auch mal gegoogelt, und ich glaub, dass das die Befehle zum gänzlichen Deaktivieren des Bildschirmschoners sind, also genau das, was ich nicht will.
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Mo 07.11.05 21:02
jakobwenzel hat folgendes geschrieben: | @Tilman: Ich hab auch mal gegoogelt, und ich glaub, dass das die Befehle zum gänzlichen Deaktivieren des Bildschirmschoners sind, also genau das, was ich nicht will. |
Naja stimmt wohl, aber ich hab keine Ahnung wie es sonst geht
@Jakobwezel: es funktuioniert, habs gerade ausprobiert. Jedenfalls unter WinXP.
@Amateur: setCursorPos reicht jedenfalls nicht, habs gerade getestet
|
|
jakobwenzel 
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Mo 07.11.05 21:05
@Tilman: Ich hab in einem Timer versucht alle 2 Sekunden den Bildschirmschoner an- / auszuschalten. Bei mir gings nicht. (Auch XP)
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Mo 07.11.05 21:20
jakobwenzel hat folgendes geschrieben: | @Tilman: Ich hab in einem Timer versucht alle 2 Sekunden den Bildschirmschoner an- / auszuschalten. Bei mir gings nicht. (Auch XP) |
Wieso willst du alle 2 Sekunden den Schoner abstellen? Realitätsnaher wäre es du
- Deaktivierst den Schoner
- Rechnest (z.B. 3 Minuten)
- Schaltest den Schoner wieder ein
dann müsste der Schoner wenn er z.B. auf 1 Minute steht ca. eine Minute nach beendeter Berechnung wieder anspringen. Oder hab ich dein problem ganz falsch verstanden?
|
|
jakobwenzel 
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Mo 07.11.05 21:22
Das war ja nur ein kleines Testprogramm, weil ich nicht so lang warten wollte. 
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Mo 07.11.05 21:29
jakobwenzel hat folgendes geschrieben: | Das war ja nur ein kleines Testprogramm, weil ich nicht so lang warten wollte.  |
Wenn du den Schoner alle 2 sekunden an und ausstellst, dann ist er (fast) immer aktiviert. Dann ist es doch normal das er anspringt, oder?
|
|
jakobwenzel 
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Mo 07.11.05 21:31
Es ist aber überhaupt nicht passiert. 
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
duffbartman
      
Beiträge: 22
|
Verfasst: Mi 19.07.06 13:51
sorry wenn ich das thema wieder aufgreife, aber was muss ich eigentlich veranstallten, um die schoner für immer zu deaktivieren?? ich will das mein bildschirmschoner auch nach einem neustart deaktiviertr bleibt!!!
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mi 19.07.06 14:00
Rechtsklick auf Monitor -> Eigenschaften -> Bildschirmschoner -> Bilschirmschoner: kein
|
|
duffbartman
      
Beiträge: 22
|
Verfasst: Mi 19.07.06 16:47
F34r0fTh3D4rk hat folgendes geschrieben: | Rechtsklick auf Monitor -> Eigenschaften -> Bildschirmschoner -> Bilschirmschoner: kein |
und das ganze jetzt bitte so, dass ich nur auf einen knopf im delphi programm klicken muss 
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mi 19.07.06 17:00
|
|
duffbartman
      
Beiträge: 22
|
Verfasst: Mi 19.07.06 20:02
du bist wohl ein typ der wenigen worte was???
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Mi 19.07.06 20:20
hmm.. IIRC Setzt man auf die Art ob ein Bildschirmschoner läuft oder nicht. Sag Windows, DASS er läuft (mit der 1) und hoff, dass er nicht anspringt.)
Stop Falsch: Das war SPI_SETSCREENSAVERRUNNING(oder so). Versuchs damit.
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
Jakob Schöttl
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Mi 19.07.06 21:19
du könntest es auch unelegant machen mit "SetCurser(x,y)". So glaub ich heißt der Befehl, mit dem man den Mauszeiger auf eine bestimmte Position setzen kann. du kannst mit Mouse.x und Mouse.y + 1 den Zeiger ein bisschen nach rechts verschieben, oder sonstwohin.
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Mi 19.07.06 21:34
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| Procedure TForm1.Timer1Timer(Sender: TObject); Begin Case x Of true: SetCursorPos(Mouse.CursorPos.x + 1, Mouse.CursorPos.y + 1); false: SetCursorPos(Mouse.CursorPos.x - 1, Mouse.CursorPos.y - 1); End; x := Not x; End; |
x:boolean.
Funktioniert leider nicht. Der Bildschirmschoner sprang bei mir trotzdem an. Den Timer hatte ich auf 1 Sekunde, Die maus HAT sich bewegt... (Windoof XP Home)
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|