मैं यह जानने की कोशिश कर रहा हूं कि कितने दिन पहले स्टोर से खरीदा गया एचपी या डेल विंडोज 10 पीसी का पहली बार उपयोग किया गया था, सी #/विंडोज़ फॉर्म का उपयोग कर। इससे मेरा तात्पर्य यह है कि वह तारीख है जब कंप्यूटर प्रारंभिक सेटअप से गुजरा, जैसे कि उपयोगकर्ता नाम और पासवर्ड बनाना, आदि।
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate से इंस्टाल डेट प्राप्त करने से काम नहीं चलेगा, क्योंकि फीचर्स अपडेट उस तारीख को बदल देते हैं।
मेरी आशा है कि एक फ़ोल्डर या फ़ाइल है जो तब बनाई जाती है जब पीसी पहली बार सेटअप/उपयोग किया जाता है, और फीचर अपडेट जैसे क्रिएटर अपडेट, एनिवर्सरी अपडेट आदि के साथ भी नहीं बदला जाता है।
क्या कोई ऐसे फ़ोल्डर या फ़ाइल के बारे में जानता है, या सी # के माध्यम से इस तरह की कुछ जानकारी प्राप्त करने का कोई अन्य तरीका है?
संपादित करें: मेरे द्वारा उपयोग की जा रही वर्चुअल मशीन पर क्रिएटर अपडेट के साथ ये सुझाए गए फ़ोल्डर/फ़ाइल निर्माण दिनांक खो गए हैं या पुराने हैं तो इंस्टॉल करें। C:\Windows\system.ini C:\Windows\win.ini C:\Users\User C:\bootmgr C:\bootnxt C:\$Recycle.Bin
संपादित करें: यह सुझाए गए डुप्लिकेट का डुप्लिकेट नहीं है, क्योंकि मुझे मूल स्थापना तिथि जानने की आवश्यकता है, भले ही क्रिएटर के अपडेट जैसा कोई फीचर अपडेट हुआ हो। एक समान पोस्ट थी, हालांकि किसी भी उत्तर ने मेरे लिए काम नहीं किया।
2 जवाब
अपडेट करें मैंने सभी विशेष फ़ोल्डरों के माध्यम से लूप के उत्तर को संशोधित किया, क्योंकि मुझे कुछ ऐसे मिले जो सबसे पुराने उपयोगकर्ता फ़ोल्डर से पुराने थे
यह बिल्कुल भी गारंटी नहीं है, उम्मीद है कि कोई मुझे बता सकता है कि क्या यह गलत है और मैं इसे हटा दूंगा, लेकिन एक विचार SpecialFolder
ऑब्जेक्ट्स की सबसे पुरानी निर्माण तिथि प्राप्त करना है:
static void Main()
{
// This will hold the oldest date, so start it at MaxValue
var oldestDate = DateTime.MaxValue;
// Loop through each defined special folder
foreach (Environment.SpecialFolder specialFolder in
Enum.GetValues(typeof(Environment.SpecialFolder)))
{
// Get the path to this folder
var folderPath = Environment.GetFolderPath(specialFolder);
// Some special folders may not exist, so verify the path first
if (Directory.Exists(folderPath))
{
// If the created date of this folder is older, update our variable
var createDate = Directory.GetCreationTime(folderPath);
if (createDate < oldestDate) oldestDate = createDate;
}
}
Console.WriteLine($"The oldest speical folder was created on: {oldestDate}");
Console.Write("\nDone!\nPress any key to exit...");
Console.ReadKey();
}
अपडेट 2
विंडोज़ रूट निर्देशिका का निर्माण प्राप्त करना भी सबसे पुराना समय देता है (कम से कम मेरे लिए)। शायद यह आसान है?
var createDate = Directory.GetCreationTime(Path.GetPathRoot(
Environment.GetFolderPath(Environment.SpecialFolder.Windows)));
systeminfo|find /i "original"
आप इस कोड का उपयोग सी # में कर सकते हैं
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/C systeminfo.exe|find /i \"original\" ";
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
या आप उपयोगकर्ता निर्देशिका की निर्माण तिथि की जांच करने के लिए और अधिक सरल तरीके से कर सकते हैं
var date = Directory.GetCreationTime(@"C:\users");
आप एक ऐप बना सकते हैं और इस कमांड से परिणाम पढ़ सकते हैं :)
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।