Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Windows Uhr stellen (https://www.delphipraxis.net/14231-windows-uhr-stellen.html)

Praktikant 5. Jan 2004 10:59


Windows Uhr stellen
 
Gibt's die Möglichkeit die Windows Uhrzeit zu stellen :?:

Gut, und wie :wink:

Jens Schumann 5. Jan 2004 11:22

Re: Windows Uhr stellen
 
Hallo,
such mal in der Win32 Referenz nach SetSystemTime.
Oder hier: MSDN SetSystemTime

Diesen Link könntest Du evt. im Zusammenhang mit dem ersten gebrauchen.
MSDN AdjustTokenPrivileges

Auf NT-Systemen ist das Privileg für SetSystemTime standardmäßig abgeschaltet.

MathiasSimmack 5. Jan 2004 11:35

Re: Windows Uhr stellen
 
Zitat:

Zitat von Jens Schumann
Diesen Link könntest Du evt. im Zusammenhang mit dem ersten gebrauchen.
MSDN AdjustTokenPrivileges

Wozu? Das PSDK sagt doch dazu:
Zitat:

Zitat von PSDK
The SetSystemTime function enables the SE_SYSTEMTIME_NAME privilege before changing the system time. This privilege is disabled by default.

Du musst es also nicht aktivieren. Wer übrigens mal in der alten Win32-Hilfe von Borland nachschaut, der liest dort folgendes:
Zitat:

Zitat von Win32 Programmer's Reference
The SetSystemTime function fails if the calling process does not have the SE_SYSTEMTIME_NAME privilege. This privilege is disabled by default. Use the AdjustTokenPrivileges function to enable this privilege and again to disable it after the time has been set.

Direkter Widerspruch. ;)

Ich glaube allerdings dem neueren PSDK, denn unter Win XP war es ausreichend, den gewünschten Benutzer in den lokalen Sicherheitsrichtlinien einzutragen. Dort gibt es den Punkt "Ändern der Systemzeit", in dem standardmäßig nur Admins und Hauptbenutzer stehen.

Das Aktivieren des Rechts (und darauf wolltest du wahrscheinlich hinaus, @Jens) half dagegen nicht.

Vjay 5. Jan 2004 12:56

Re: Windows Uhr stellen
 
Aus Erfahrung glaube ich die Borland-Hilfe stimmt. Aber Probieren geht bekanntlich über Studieren :)

MathiasSimmack 5. Jan 2004 13:15

Re: Windows Uhr stellen
 
Nur ist in dem Fall die "win32.hlp" eine Hilfedatei von Microsoft. Und eine sehr alte noch dazu, in der du nach neueren Befehlen vergeblich suchst. *Ätsch bätsch* *Zunge rausstreck*

Praktikant 5. Jan 2004 13:29

Re: Windows Uhr stellen
 
danke für die links, nur kann ich damit garnix anfangen.

Hab sowas noch nie gemacht und weiß daher nicht was ich einbinden muß bzw. wie ich mit delphi diese Befehle verwende. :oops:

Edit: Hab jetzt mal in Luckis API Tutorial reingeschaut, da ist ja auch ein Bsp in der Richtung mit drin. Tippe das mal ab und teste ein wenig herum. Aber vermutlich scheidet mein Prog an der Rechtebschränkung, da ja das Programm an anderen Stationen in Betrieb genommen werden sollte, ohne vorher in winxp herumzuwerkeln. :cry:

H4ndy 5. Jan 2004 14:16

Re: Windows Uhr stellen
 
Probier mal das hier:

Delphi-Quellcode:
var
  TimeStruct : TSystemTime;
begin
  TimeStruct.wYear:= ... ;
  TimeStruct.wMonth:= ... ;
  TimeStruct.wDay:= ... ;
  TimeStruct.wHour:= ... ;
  TimeStruct.wMinute:= ... ;
  TimeStruct.wSecond:= ... ;
  TimeStruct.wMilliSeconds:= ... ;

  if SetSystemTime(TimeStruct) then begin
    ShowMessage('Systemuhr wurde korrigiert')
  end else
    ShowMessage('Systemuhr konnte nicht geändert werden!');
end;

Praktikant 5. Jan 2004 14:26

Re: Windows Uhr stellen
 
bin inzwischen ganu gleich weit, mein Code sieht im Prinzip gleich aus... aber es funzt nicht.
Sprich SetSystemTime() liefert ein False zurück.

Liegt das jetzt an meiner User-Rechten?!
Habe mal in den Systemdiensten geschaut, und bei 'change the system time' stand nur Administrators drin. Habe jetzt meinen Usernamen hinzugefügt - ohne Erfolg.

Jens Schumann 5. Jan 2004 14:32

Re: Windows Uhr stellen
 
Zitat:

Zitat von MathiasSimmack
Das Aktivieren des Rechts (und darauf wolltest du wahrscheinlich hinaus, @Jens) half dagegen nicht.

Genau. Ich habe die Info aus der alten Win32 Referenz.

Ich musste noch nie die Systemzeit setzen. Für die Beantwortung der Frage habe ich mir die Frage gestellt: Was würdest Du machen, wenn Du die Systemzeit setzen müsstest.

Ich würde als erstes in der Delphi-Hilfe suchen und evt. anschließend in der Win 32 Referenz nachschauen. Dann würde ich mit den Info's aus der Win32 Referenz im Online MSDN suchen.
Jetzt würde ich anfangen die Info's in Sourcecode umzusetzen. Wenn ich es dann immer noch nicht schaffe würde ich meine jämmerlichen Versuche hier ins Forum stellen und um Hilfe flehen.

Praktikant 5. Jan 2004 14:38

Re: Windows Uhr stellen
 
ok, es geht.
Problem war mein verwendeter DateTimePicker :oops:


thx @ll


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz