با سلام.
تاریخ نصب ویندوز و همچنین تمامی نرمافزار ها در ریجستری شما وجود دارد.
برای دیدن ریجستری کافی است که regedit.exe را فراخوانی کنید. (در ویندوز xp از پنجره run و در ویستا و سون search programs and files)
ریجستری به این صورت است:
به عنوان مثال تاریخ نصب ویندوز در registry key به آدرس: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate دخیره شده است. (آدرس به باینری ذخیره شده. باید تبدیل به تکس بشود)
یا برای آفیس 2010 و 2007 آدرس : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Installer\UserData\S-1-5-18\Products\00004109110000000000000000F01FEC\Insta llProperties\InstallDate (آدرس به تکست ذخیره شده نیازی به تغییر تایپ ندارد.)
و .....
تنها کاری که نیاز است انجام بدهید. اینست که چطور یک registry key را بخوانید با استفاده از VBA.
توضیحات لازم برای این کار در لینک http://vba-corner.livejournal.com/3054.html داده شده است. جدای این یک تاپیک دیگر در فروم وجود دارد که از اطلاعات ریجستری استفاده شده. نتونیستم پیداش کنم ولی باید باشد.
به هر حال تابع زیر از ریجستری میخواند:
کد:
'reads the value for the registry key i_RegKey'if the key cannot be found, the return value is ""
Function RegKeyRead(i_RegKey As String) As String
Dim myWS As Object
On Error Resume Next
'access Windows scripting
Set myWS = CreateObject("WScript.Shell")
'read key from registry
RegKeyRead = myWS.RegRead(i_RegKey) End Function
مثلا برای آفیس کد زیر:
کد:
RegKeyRead(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\00004109110000000000000000F01FEC\InstallProperties\InstallDate)
تاریخ نصب آفیس را بر میگرداند.
نکته برای کاربران ویندوز ویستا و سون: برخی مواقع این کلید های رجستری برای کاربر غیر قابل دید هستند! بسته به نوع کاربر. در این صورت هر فایل اکسلی که توسط این کاربر ویرایش یا ایجاد شود نیز به این کلید های ریجستری دسترسی ندارند.
برای این منظور مطمئن شوید که کاربری هستید که به همه کلید ها دسترسی دارید.
موفق و پیروز باشد.
علاقه مندی ها (Bookmarks)