Uptime
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
dieses kleine Programm ist aus meiner neugierde entstanden wie lange mein Rechner wohl im Jahr läuft. Es zeigt die Aktuelle Uptime an und rechnet diese zu einem Gesamtwert. Außerdem wird für jeden Tag einen Datei angelegt in der die Uptime dieses Tages aufgezeichnet wird und wie oft er an diesem Tag gestartet wurde. Ein wirklicher Name ist mir nicht eingefallen daher heißt es Uptime :) also wenn jemand eine Idee für einen Namen hat immer her damit! mfg Whatever Edit: So jetzt ist der Pfad der Programmordner frei Wählbar! |
Re: Uptime
Hi,
speichere die Dateien dahin, wo sie hingehören. Beispielsweise ins Benutzerverzeichnis. Ich möchte auf C:\ selbst keine Verzeichnisse von deinem Programm, denn die gehören dort absolut nicht hin. Grüße, Matze |
Re: Uptime
"C:\Uptime" ist aber ein unglücklich gewählter Pfad. Das solltest Du umstellen.
|
Re: Uptime
Hallo,
was haltet ihr den für besser? C:\Programme? C:\Dokumente und Einstellungen? Oder Eigene Dateien? mfg Whatever |
Re: Uptime
Du handelst dir u .U. auch Ärger bei nicht Adminrechten des Benutzers ein.
[Edit: Am Besten einstellbar. Aber ja nicht im Programmverzeichnis. Am Besten im Anwendungsdatenverzeichnis] |
Re: Uptime
ich finden den Anwendungsordner des Nutzers dafür genau richtig.
|
Re: Uptime
hi,
erstmal Vielen Dank für die vielen schnellen Antworten die ja fast alle das selbe sagen :) Also ich denke ich werde versuchen den Pfad einstellbar zu machen und wenn das soweit ist lade ich die ganze Geschichte nochmal hoch. mfg Whatever |
Re: Uptime
Hallo nochmal,
dazu hab ich auch gleich mal ne Frage und zwar: Wenn der Pfad variabel ist ist er ja bei Programmstart nicht bekannt. Wie kann ich also unabhängig vom Pfad abspeichern wo die Verzeichnisse liegen (Ich will ja nicht das der Benutzer bei jedem Start den Pfad angeben muss). In der Registry? mfg Whatever |
Re: Uptime
Das wäre eine Möglichkeit. Oder eine Ini im Anwendungsverzeichnis ablegen.
[edit] Mit Anwendungsverzeichnis meine ich aber nicht den Programmordner, sondern z.B. "C:\Dokumente und Einstellungen\Benutzername\Anwendungsdaten" [/edit] |
Re: Uptime
Schau dir mal die Funktion SHGetSpecialFolderLocation an (gibts auch einige Beispiel hier im Forum).
So wie es jetzt ist kann es jedenfalls nicht bleiben da sonst nur ein Admin dein Programm ausführen darf zwecks fehlenden Schreibrechten anderer Nutzer. |
Re: Uptime
Wenn das Programm die Uptime des Rechners bestimmen und protokollieren soll, dann hat das doch nichts mit dem Benutzer zu schaffen, es soll ja nicht die Uptime des Benutzers ermittelt werden.
Somit müssten diese Daten eigentlich unter den Anwendungsdaten von "All Users" gespeichert werden. cu Oliver [edit] Ins Programmverzeichnis gehören alle Dateien, die zum Zeitpunkt der Installation erstellt werden und im normalen Betrieb nur gelesen werden. In All Users\Application Data CSIDL_COMMON_APPDATA gehören alle global verfügbaren Daten rein (lesen/schreiben möglich) In <user name>\Application Data CSIDL_APPDATA gehören alle Daten für den Benutzer rein, die u.U. auch bei einem Server-gespeicherten Profil übertragen werden sollen (lesen/schreiben möglich) In <user name>\Application Data CSIDL_LOCAL_APPDATA gehören alle Daten für den Benutzer rein, die auch bei einem Server-gespeicherten Profil nicht übertragen werden sollen (lesen/schreiben möglich) Wie man schön sieht, heissen die CSIDL_ alle irgendwie APPDATA, und das hat einfach auch seinen guten Grund ;) [/edit] |
Re: Uptime
Wenn es um den Uptime des rechners geht, am Besten als Dienst.
|
Re: Uptime
Und vielleicht noch einen kleinen Treiber dazu? Bleibt mal auf dem Teppich :zwinker:
|
Re: Uptime
Also ein Dienst sollte doch kein Problem sein.
|
Re: Uptime
So wie ich mir erlaube das Niveau des TE einschätzen zu können... denke doch.
|
Re: Uptime
SirRufo genau deshalb hab ich ja den Pfad auf C:\ gelegt... allerdings ist das offensichtlich nicht die beste Lösung.
Wozu genau brauch ich denn SHGetSpecialFolderLocation? Ich mein ändert sich der Pfad oder geht es ganz einfach darum das der Pfad auf verschiedenen Windows Versionen vrschieden sein kann? Übrigens hat mein AllUsers keine Anwendungsdaten ist das Normal? mfg Whatever |
Re: Uptime
Zitat:
|
Re: Uptime
Ja, du bekommst da unter jeder Windows-Version den richtigen Pfad zurückgeliefert.
AllUser muss keine Daten haben, würde sich in diesem Fall aber anbieten ;) |
Re: Uptime
Zitat:
|
Re: Uptime
Also kann ich einfach wenn mein AllUsers keinen Anwendungsordner hat per neuer Ordner Application Data erzeugen und der wird von SHGetSpecialFolderLocation erkannt?!
Und was passiert dann wenn irgendjemand der sich das Programm geladen hat auch kein Application Data hat und aus diesem Ordner gelesen werden soll>? Wird er dann automatisch erstellt oder lieber vorher mit if DirectoryExists und ForceDirectories abfragen und wenn nötig erstellen? mfg Whatever |
Re: Uptime
hm... Wenn ich versuche den Pfad von CSIDL_COMMON_APPDATA auszulesen bekomme ich die Fehlermeldung: Undefinierter Bezeichner: 'CSIDL_COMMON_APPDATA'
Hat irgendjemand eine Idee warum er das nicht kennt? CSIDL_APPDATA funktioniert... mfg Whatever |
Re: Uptime
OK die Fehlermeldung hat sich erledigt.
Jetzt bleibt noch das Problem das manche Leute(z.B Ich) keinen Application Data Ordner in AllUsers ahben und es nichts bringt einfach mit Neuer Ordner einen zu erstellen... Ist es denn annehmbar die INI einfach "lose" in AllUsers zu schreiben? mfg Whatever |
Re: Uptime
So nachdem ich mich jetzt ausreichend mit meinem Code herumgeschlagen habe sollte es jetzt funktionieren. Die neue Version ist im ersten Post als Anhang.
Wenn irgendwas nicht funktioniert wie´s soll SCHREIBEN :-D mfg Whatever |
Re: Uptime
Zitat:
|
Re: Uptime
Hallo,
Ich hab es ausprobiert ich hab mit SHGetSpecialFolderLocation nach CSIDL_COMMON_APPDATA gesucht... mir wurde nichts angezeigt. mfg Whatever |
Re: Uptime
Zitat:
|
Re: Uptime
Er will es ja für alle User haben.
|
Re: Uptime
Liste der Anhänge anzeigen (Anzahl: 1)
Richtig!
Könnte man im Code-Library ja mal ergänzen das man für einige Befehle(?) nicht ShellApi sondern ShFolder einbinden muss. Für welche genau weiß ich jetzt auch nicht... Glaub alle die was mit COMMON zu tun haben. mfg Whatever PS.: Ihr dürft euch die neue Version übrigens gerne runterladen und testen :zwinker: |
Re: Uptime
Achso ok, wenn es da keine Probleme mit den Rechten gibt.
Schreiben und lesen kann dort jeder, aber Dateien ändern kann dort nur der Benutzer, der die Datei auch angelegt hat (außer Admins, die müssten alles können). |
Re: Uptime
Die Datei muss ja auch nicht unbedingt geändert werden. Dies ist zwar möglich aber eigentlich reicht es wenn sie einmal angelegt wird und später nurnoch der Pfad aus ihr gelesen wird.
mfg Whatever |
Re: Uptime
Zitat:
MfG xZise |
Re: Uptime
Hallo,
Zitat:
mfg Whatever |
Re: Uptime
@Whatever:
Falls Du es erweitern willst, guckst Du hier: http://www.codeproject.com/KB/gadgets/pcNanny.aspx |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr. |
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