2k Aufrufe
Gefragt in Windows 7 von mixmax Experte (2.2k Punkte)
Ich habe eigene gründe warum ich die Zeit wann C:\ erstellt worden ist ändern.

Ich habe es in C# und mit verschiedenen Suchen im Internet versucht, aber keine kostenfreie Software gefunden die das kann.

also in C# unter Win7 stoße ich auf folgende Probleme:


System.IO.Directory.SetCreationTime(comboBox1.Text.Substring(0, 2), NT);
File.SetCreationTime("C:\\", NT); // auch mit C: getestet

kommt der Fehler zugriff verweigert, auch wenn mann die Benutzerkontensteuerung ausschaltet, die anwendung als admin startet und auch bei anderen Festplatten wie externen die nicht benutzt werden.


System.IO.Directory.SetCreationTime(comboBox1.Text.Substring(0, 2), NT);
Directory.SetCreationTime("C:\\", NT); // auch mit C: getestet

kommt der Fehler "Der Pfad darf kein Laufwerk sein"


Beide Fehler lassen sich auch mit dem DirectoryInfo und FileInfo Objekt nachstellen. Lesen geht, schreiben nicht.

Partitionmagic 8 soll das explizit können, dafür kauf ich das programm aber nicht.

6 Antworten

0 Punkte
Beantwortet von kjg17 Profi (34.4k Punkte)
Moin MixMax,

mal nur so aus Neugier, wie kann man sich eigentlich den Zeitpunkt der Erstellung einer Partition anzeigen lassen?

Zwar läuft ja kaum ein Vorgang ohne Zeitstempel ab, aber in diesem Fall wüsste ich nicht, wie ich das abrufen könnte. Das einzige, mir bekannte Indiz für die Erstellung der System-Partition unter Win7 wäre die Zeitangaben zur automatisch erstellten 'System Volume Information'.

Das inzwischen schon 10 Jahre alte PM8 sollte man ansonsten besser nicht auf einen Rechner mit Win7 loslassen. Es ist nämlich nicht 'aufwärtskompatibel' und könnte deshalb mehr schaden als nutzen.

Gruß
Kalle
0 Punkte
Beantwortet von flupo Profi (17.3k Punkte)
Partitionmagic 8 soll das explizit können, dafür kauf ich das programm aber nicht.

PM8 lief bei mir unter Windows 7 (hab die 64bit-Variante) nicht mehr.

Gruß Flupo
0 Punkte
Beantwortet von mixmax Experte (2.2k Punkte)
wenn du C# installiert hast, dann kannst du eine einfache windows formsanwendung machen

[code]
using System;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace CAttribut
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            FileInfo CDIR = new FileInfo("C:\\");
            DateTime NT = CDIR.CreationTime;
            MessageBox.Show("Die Zeit vom Laufwerk C:\ ist:\r\n\r\n" +
NT.Ticks + "\r\n" + NT.ToLongDateString() + "\r\n" +
NT.ToLongTimeString() + "," +
NT.Millisecond.ToString(),
"Information", MessageBoxButtons.OK,
MessageBoxIcon.Information);
        }
    }
}
[/code]
0 Punkte
Beantwortet von ericmarch Experte (4.6k Punkte)
Ich lehne mich mal zum Fenster raus:
Die Daten die du mit Programmen ändern willst scheinen einen direkten Hard*Z*ugriff zu erfordern (was man einst Disk-Editor nannte) und 7 stellt sich quer solche (speziellen) direkten HW-Zugriffe durchzulassen.

Wenn es nicht mit von mir aus einem Live-Linux geht wüsste ich auch nicht weiter.

Mir wäre (wie auch KJG17) neu wo das Erzeugungsdatum einer Partition hinterlegt sein könnte, und selbst das Formatieren derselben was ein logisches Laufwerk erzeugt hat sich bei mir noch nie mit einem Datum gemeldet. Insoweit dürfte sich nichts mehr oder weniger denn der Zeitstempel des ersten geschriebene Objekts ermitteln lassen.

Eric March
0 Punkte
Beantwortet von mixmax Experte (2.2k Punkte)
*hust* ok ich habe eine Lösung aber sie ist etwas kompliziert gewesen:


1) Datum auslesen (Ticks vom C# Programm)
2) Platte zu einer VHD umwandeln
3) vhd mit einem hexeditor öffnen
4) zu suchenden String errechnen: (Achtung)
Bei Windows 7 formatierten Platten:
(Dezimal) = Ticks - 504911268000000000
Dezimal mit Windowstaschenrechner in Hexial umwandeln
Hexial Byteweise umdrehen (die 1 wird zu 01):
1CA04340EF6DACC > CCDAF60E3404CA01
5) den Wert ersetzen, dazu die gewünschte Zeit über C# Programm als Ticks ausgeeben und wie bei 4 errechnen und ersetzen. (Vorher prüfen wie oft der Wert vorkommt, ob dieser nicht auch in Programmen oder Dateien als daten Enthalten sind)
6) Platte zurückspielen (Besser zu Testzwecken auf eine andere leere platte)

also ich denke es muss auch anders gehen aber nicht gefunden wo...
0 Punkte
Beantwortet von ericmarch Experte (4.6k Punkte)
…ich vermute, kein Tool könnte das anders machen/tun.
Insbesondere wenn es noch ermitteln muss, dass ›von W7 formatiert wurde‹.
Wiederum sehe ich das Hindernis, dass W7 den direkten HW-Zugriff verhindert.
Eric March
...