![]() |
Re: Rechneraktivität vortäuschen?
Zitat:
Wenn, dann würde ich bestimmt die Maus bewegen wollen, da ich bei einer Tastatureingabe nicht weiß, welche ich nehmen sollte. Eine normale Asciitaste fällt aus, da man ja nicht weiß, welche Anwendung gerade aktiv ist. Vielleicht könnte man eine Cursortaste nehmen, aber da bin ich auch nicht sicher, welche Anwendung darunter läuft. Die Mausbewegung ist bestimmt die beste Alternative. Vielen Dank für eure Meinungen. Möglicherweise hätte eine Email an alle User gereicht als Abschreckung. Wenn man dann verstoßen hätte, ein Gespräch mit dem Chef und wenn immer noch nicht, dann eine Abmahnung. Aber die Art der Regelung finde ich nicht gerade fördernd. Wie tr909 schrieb, ist das auch nicht gerade arbeitsfördernd, aber wo ein Problem ist (oder gemacht wurde) gibt es immer kreative Leute. |
Re: Rechneraktivität vortäuschen?
Ich habe ein Programm, das weder mit der Tastatur oder Maus bedient wird. Die Folge wäre, dass irgendwann LASTINPUT zuschlägt mit unerwünschten Folgen (Bildschirmschoner oder Lockworkstation).
LASTINPUT wird mit dem regelmäßigen Aufruf von keybd_event(0,0,0,0) auf 0 gesetzt. http://msdn.microsoft.com/en-us/library/ms646304(VS.85).aspx |
Re: Rechneraktivität vortäuschen?
Ich habe mal die GetCursorPos genutzt. Anbei der Schnipsel. Die Bewegung um ein Pixel kann ich sehen. Habe den Timer mal auf 60000 gesetzt. Das müßte reichen.
Mal sehen, obs auch in der Wirklichkeit funktioniert. Das mit der Abfrage habe ich nur gemacht, weil man auch am linken Rand schon sein könnte. Ist bestimmt noch ausbaubar und mit einer Größe von ca. 400 kB noch sehr groß. Vielleicht sollte man über eine Kommandozeilenversion nachdenken.
Delphi-Quellcode:
procedure TForm20.Timer1Timer(Sender: TObject); var T : TPoint; T1: TPoint; begin windows.GetCursorPos(T); T1:=T; if T1.X>10 then begin T1.x:=T1.X-1; end else begin T1.x:=T1.X+1; end; windows.SetCursorPos(T1.X,T1.Y); Sleep(100); windows.SetCursorPos(T.X,T.Y); end; |
Re: Rechneraktivität vortäuschen?
Warum eigentlich so kompliziert? Es würde doch eigentlich reichen, auf die entsprechende "Der Bildschirmschoner schaltet sich ein" Message zu reagieren und diese negativ zu beantworten:
Delphi-Quellcode:
procedure TVid_wnd.WMSysCommand(var Msg: TMessage);
begin if ((Msg.wParam = SC_SCREENSAVE) or (Msg.WParam = SC_MONITORPOWER)) and (Fullscreen) then Msg.Result := 1 else inherited; end; |
Re: Rechneraktivität vortäuschen?
Soweit stecke ich halt in der Windowsprogammierung nicht drin. Wenn das so geht, wäre das auch eine Alternative.
Danke für den Tipp. |
Re: Rechneraktivität vortäuschen?
Dann schaue Dir mal dieses
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz