PDA

View Full Version : سوال: استفاده از System.Environment



amirreza619
یک شنبه 17 دی 1391, 01:31 صبح
سلام دوستان !
چجوری باید از متغیر های سیستمی استفاده کنم ؟ ( System.Environment ) :متفکر:
لطفا کامل توضیح بدین ! ( تو عجب چیزی گیر کردیما :| )

the king
یک شنبه 17 دی 1391, 01:51 صبح
سلام دوستان !
چجوری باید از متغیر های سیستمی استفاده کنم ؟ ( System.Environment ) :متفکر:
لطفا کامل توضیح بدین ! ( تو عجب چیزی گیر کردیما :| )

در VB6 اسمش Environ است، فرضا نمایش پوشه نصب ویندوز (WINDIR) با MsgBox


MsgBox Environ("WINDIR")


یا ذخیره کردن مسیر پوشه Temp در متغیر path


Dim path As String
path = Environ("TEMP")

amirreza619
یک شنبه 17 دی 1391, 04:46 صبح
آخه من این لینک چیزای بیشتری رو دیدم که با این کامنت کار نمیکنن ، گفتم شاید شیء ای باشه یا .. !
msdn.microsoft.com/en-us/library/system.environment.aspx

Hashemvp
یک شنبه 17 دی 1391, 10:35 صبح
دوست عزیز ماکروسافت خیلی وقته ک از ویبی 6 پشتیبانی نمیکنه و این دستور هایی که شما دیدین برای VB.NET هست.

موفق باشی

amirreza619
یک شنبه 17 دی 1391, 23:40 عصر
پس چجوری میتونم اطلاعات سیستم رو به طور کامل تو vb6 بگیرم ؟ (نمیخام اون پنجره مخصوصش باز بشه ، فقط میخام تو خود وی بی باهاش کار کنم ! )
اطلاعاتی مثل کارت گرافیک ، هارد دیسک و ... !!

the king
دوشنبه 18 دی 1391, 03:48 صبح
پس چجوری میتونم اطلاعات سیستم رو به طور کامل تو vb6 بگیرم ؟ (نمیخام اون پنجره مخصوصش باز بشه ، فقط میخام تو خود وی بی باهاش کار کنم ! )
اطلاعاتی مثل کارت گرافیک ، هارد دیسک و ... !!

اینکه کاری نداره، چند خط کد می نویسید :


Dim info As Object, item As Object, WMIService As Object, data As Variant
Set WMIService = GetObject("winmgmts:\\.\root\cimv2")
Set info = WMIService.ExecQuery("Select * from Win32_Keyboard", , 48)
For Each item In info
data = item.Caption
Next
MsgBox data


اول باید مشخص کنید که اطلاعات کدوم کلاس رو می خواهید، هر سخت افزاری کلاس خودش رو داره،
فرضا Win32_Keyboard برای صفحه کلید، Win32_BIOS برای BIOS سیستم، Win32_Processor برای پردازنده (CPU) و
Win32_DiskDrive برای هارد دیسک و ...
لیست کامل کلاس ها اینجا است :
Computer System Hardware Classes (Windows) (http://msdn.microsoft.com/en-us/library/windows/desktop/aa389273(v=vs.85).aspx)

وقتی کلاس تون رو مشخص کردید، لینک اون کلاس مورد نظر رو هم باز کنید تا ببینید داخلش چه مشخصاتی داره، هر کلاسی یکسری مشخصات خاص
رو میده، فرضا کلاس Win32_Keyboard که مربوط به صفحه کلید ئه یک مشخصه ای داره به اسم Caption
Win32_Keyboard class (Windows) (http://msdn.microsoft.com/en-us/library/windows/desktop/aa394166(v=vs.85).aspx)

کدی که قبلا نوشته بودم مشخصه Caption رو در کلاس Win32_Keyboard نشون می داد. حالا یک مثال دیگه می زنم. نشون داده مشخصات Manufacturer
و Status مربوط به BIOS کامپیوتر در کلاس Win32_BIOS هست :
Win32_BIOS class (Windows) (http://msdn.microsoft.com/en-us/library/windows/desktop/aa394077(v=vs.85).aspx)

این دو مشخصه را می خوانیم و نمایش می دهیم :


Dim info As Object, item As Object, WMIService As Object
Dim data1 As Variant, data2 As Variant
Set WMIService = GetObject("winmgmts:\\.\root\cimv2")
Set info = WMIService.ExecQuery("Select * from Win32_BIOS", , 48)
For Each item In info
data1 = item.Manufacturer
data2 = item.Status
Next
MsgBox data1 + vbNewLine + data2


حالا خودتون هر کلاس و هر مشخصاتی که دلتان خواست از داخلش بخوانید و استفاده کنید.

amirreza619
دوشنبه 18 دی 1391, 11:32 صبح
ممنون داداش ، خیلی مفید بود ! ای کاش همه تو ایرون اینجوری باشن :لبخند: