Time-Anweisung und Vista UAC

23/07/2009 - 10:49 von Wilfried Dietrich | Report spam
Hallo,

hat jemand eine Idee, wie ich aus meiner VB-App. heraus
die Systemuhrzeit auf einem Vista-System ohne erhöhte
Rechte einstellen kann.

Die API SetSystemTime hat keine Wirkung und Time
z.B. Time = "10:16:00"
erzeugt unter Vista einen auffangbaren Fehler, wenn
die App. nicht mit erhöhten Rechten (Admin) gestartet wurde.
Ich möchte aber nicht, dass der Benutzer mein Prog. mit der
rechten Maustaste und dann "Als Administrator ausführen" oder
durch irgend eine andere Art mit UAC-Abfrage starten muss,
nur weil ich beim ersten Start am Tag die Systemzeit
mit dem Server synchronisiere.
Unter NT, 2000, XP gab es da bis dto. keine Probleme.


Gruß
Wilfried
 

Lesen sie die antworten

#1 Harald M. Genauck
23/07/2009 - 14:52 | Warnen spam
Hallo Wilfried,

hat jemand eine Idee, wie ich aus meiner VB-App. heraus
die Systemuhrzeit auf einem Vista-System ohne erhöhte
Rechte einstellen kann.

Die API SetSystemTime hat keine Wirkung und Time
z.B. Time = "10:16:00"
erzeugt unter Vista einen auffangbaren Fehler, wenn
die App. nicht mit erhöhten Rechten (Admin) gestartet wurde.
Ich möchte aber nicht, dass der Benutzer mein Prog. mit der
rechten Maustaste und dann "Als Administrator ausführen" oder
durch irgend eine andere Art mit UAC-Abfrage starten muss,
nur weil ich beim ersten Start am Tag die Systemzeit
mit dem Server synchronisiere.
Unter NT, 2000, XP gab es da bis dto. keine Probleme.



Muss das Deine Anwendung unbedingt selber erledigen?

Wenn der Rechner an einer Domàne angemeldet ist, sollte er sich
automatisch mit dem/einem Domànen-Server synchonisieren.

Anderenfalls gàbe es die Möglichkeit, den zeitgebenden Server in den
Uhrzeiteinstellungen ein für allemal als zeitgebenden Server
einzustellen (Uhrzeiteinstellungen: "Internetzeit"), falls der Server
als ntp-Server fungieren kann (letzteres ggfs. einzurichten sollte aber
auch nicht so aufwàndig sein).

Wenn keine dieser systemeigenen Möglichkeiten praktikabel sein sollte,
würde ich die Synchronisation in eine separate Anwendung packen, die
als Dienst (und daher auch ohne Benutzeroberflàche/Forms...) angelegt
und gestartet wird und das ebenfalls automatisch im Hintergrund
erledigen kann. Bei Diensten gibt es die UAC-Problematik nicht.


Viele Grüße

Harald M. Genauck

"VISUAL STUDIO one" - http://www.visualstudio1.de (Chefredakteur)
"ABOUT Visual Basic" - http://www.aboutvb.de (Herausgeber)

Ähnliche fragen