Một câu hỏi khác có thể hiểu được đối với một ' thách thức mã ': đây là một số thực thi mã nguồn để trả lời vấn đề, nhưng chúng chưa hoàn thành.
Bạn sẽ tìm thấy một tập lệnh vb mà bất cứ ai cũng có thể thực hiện trên máy tính của mình, với kết quả mong đợi?
systeminfo|find /i "original"
sẽ cung cấp cho bạn ngày thực tế ... không phải số giây;)
Như nhận xét của Sammy , cung cấp nhiều hơn bạn cần.
Và điều này chỉ hoạt động nếu ngôn ngữ là tiếng Anh: Nó cần phải phù hợp với ngôn ngữ.
Đối với tiếng Thụy Điển, đây sẽ là " " và " " cho tiếng Đức.find /i "install"
ursprungligt
ursprüngliches
Trong tập lệnh Windows PowerShell , bạn chỉ cần gõ:
PS > $os = get-wmiobject win32_operatingsystem
PS > $os.ConvertToDateTime($os.InstallDate) -f "MM/dd/yyyy"
Bằng cách sử dụng WMI ( Thiết bị quản lý Windows )
Nếu bạn không sử dụng WMI, bạn phải đọc sau đó chuyển đổi giá trị đăng ký:
PS > $path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
PS > $id = get-itemproperty -path $path -name InstallDate
PS > $d = get-date -year 1970 -month 1 -day 1 -hour 0 -minute 0 -second 0
## add to hours (GMT offset)
## to get the timezone offset programatically:
## get-date -f zz
PS > ($d.AddSeconds($id.InstallDate)).ToLocalTime().AddHours((get-date -f zz)) -f "MM/dd/yyyy"
Phần còn lại của bài đăng này cung cấp cho bạn những cách khác để truy cập cùng thông tin đó. Chọn thuốc độc của bạn ;)
Trong VB.Net sẽ cung cấp một cái gì đó như:
Dim dtmInstallDate As DateTime
Dim oSearcher As New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem")
For Each oMgmtObj As ManagementObject In oSearcher.Get
dtmInstallDate =
ManagementDateTimeConverter.ToDateTime(CStr(oMgmtO bj("InstallDate")))
Next
Trong Autoit (ngôn ngữ kịch bản Windows), đó sẽ là:
;Windows Install Date
;
$readreg = RegRead("HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\", "InstallDate")
$sNewDate = _DateAdd( 's',$readreg, "1970/01/01 00:00:00")
MsgBox( 4096, "", "Date: " & $sNewDate )
Exit
Trong Delphy 7, điều đó sẽ diễn ra như sau:
Function GetInstallDate: String;
Var
di: longint;
buf: Array [ 0..3 ] Of byte;
Begin
Result := 'Unknown';
With TRegistry.Create Do
Begin
RootKey := HKEY_LOCAL_MACHINE;
LazyWrite := True;
OpenKey ( '\SOFTWARE\Microsoft\Windows NT\CurrentVersion', False );
di := readbinarydata ( 'InstallDate', buf, sizeof ( buf ) );
// Result := DateTimeToStr ( FileDateToDateTime ( buf [ 0 ] + buf [ 1 ] * 256 + buf [ 2 ] * 65535 + buf [ 3 ] * 16777216 ) );
showMessage(inttostr(di));
Free;
End;
End;
Thay thế, CoastN đề xuất trong các ý kiến :
Vì system.ini-file
vẫn còn nguyên trong quá trình triển khai windows thông thường, bạn thực sự có thể có được ngày cài đặt bằng cách sử dụng oneliner sau:
(PowerShell): (Get-Item "C:\Windows\system.ini").CreationTime