PDA

View Full Version : سوال: پیدا کردن مشخصات سیستم ( cpu - ram - vga )



rezapassword
سه شنبه 26 آذر 1387, 08:48 صبح
دوستان سلام
ایا راهی هست در دات نت که بشه این کارو کرد
یعنی این سه مشخصه رو پیدا کرد !
ممنون

sepehr.net
سه شنبه 26 آذر 1387, 09:17 صبح
بله دوست عزیز
با استفاده از wql میتونی هر مشخصاتی که از سخت افزار یا نرم افزار احتیاج داری بدست بیاری
http://barnamenevis.org/forum/showthread.php?t=131939&highlight=wql

parsehvb
سه شنبه 26 آذر 1387, 10:21 صبح
این رو امتحان کن ببین چطوره

rezapassword
سه شنبه 26 آذر 1387, 15:53 عصر
سپهر جان میشه یک سمپل برای من بنویسید که در اون این سه مشخصه رو در سه لیبل نشون بده ؟
خیلی ممنون میشم
پارسه وی بی از شما هم ممنونم برای سمپلتون ولی من این سه مشخصه یعنی
پروسسور سی پی یو - مقدار رم به گیگ و مقدار پروسسور کارت گرافیک رو میخوام نه ورژن سیستم عامل
ممنون

sepehr.net
سه شنبه 26 آذر 1387, 22:16 عصر
این یک نمونه کد کوچک برای بدست اوردن مشخصات کارت گرافیک و cpu
برای پیدا کردن مشخصات بیشتر به سایت زیر بروید (در تاپیکی که در مورد wql ساخته شده برنامه هایی برای کار با wql معرفی شده اند . اگر با مشکلی مواجه شدید این برنامه ها میتونه کمکتون کنه)
http://www.yogageneration.com/~mvkaz...tml/index.html (http://www.yogageneration.com/%7Emvkazit/demo/WQLAnalyzer/meta_data_html/index.html)

Morteza_s
سه شنبه 26 آذر 1387, 22:24 عصر
بدست آوردن چند مشخصه سخت افزاری برای استفاده دوستان و استفاده در قفل نرم افزاری:

شرکت سازنده سی پی یو:


Public Function GetCPUManufacturer() As String

Dim cpuMan As String = String.Empty
'//create an instance of the Managemnet class with the
'//Win32_Processor class
Dim mgmt As ManagementClass = New ManagementClass("Win32_Processor")
'//create a ManagementObjectCollection to loop through
Dim objCol As ManagementObjectCollection = mgmt.GetInstances()
'//start our loop for all processors found
For Each obj As ManagementObject In objCol

If cpuMan = String.Empty Then

' // only return manufacturer from first CPU
cpuMan = obj.Properties("Manufacturer").Value.ToString()
End If
Next
Return cpuMan
End Function


شماره سریال سی پی یو:


Public Shared Function CPU_ID() As String
Dim cpuInfo As String = String.Empty
'//create an instance of the Managemnet class with the
'//Win32_Processor class
Dim mgmt As ManagementClass = New ManagementClass("Win32_Processor")
'//create a ManagementObjectCollection to loop through
Dim objCol As ManagementObjectCollection = mgmt.GetInstances()
'//start our loop for all processors found
For Each obj As ManagementObject In objCol
If cpuInfo = String.Empty Then
'// only return cpuInfo from first CPU
cpuInfo = obj.Properties("ProcessorId").Value.ToString()
End If
Next
Return cpuInfo
End Function


مادربرد:


Public Shared Function MB_ID() As String
'get the mother board information
Dim MotherBoardClass As New ManagementClass("Win32_BaseBoard")
Dim MotherBoards As ManagementObjectCollection = MotherBoardClass.GetInstances()
Dim MotherBoardsEnumerator As _
ManagementObjectCollection.ManagementObjectEnumera tor = _
MotherBoards.GetEnumerator()
MB_ID = ""
While MotherBoardsEnumerator.MoveNext()
Dim MotherBoard As ManagementObject = _
CType(MotherBoardsEnumerator.Current, ManagementObject)
MB_ID = MotherBoard("Manufacturer") & MotherBoard("Model")
MB_ID = MB_ID & MotherBoard("Name") & MotherBoard("PartNumber")
MB_ID = MB_ID & MotherBoard("Product") & MotherBoard("SerialNumber") & MotherBoard("Version")

End While
Return MB_ID
End Function


بایوس:


Public Shared Function Bios_ID() As String
'get the bios information
Dim BiosClass As New ManagementClass("Win32_BIOS")
Dim Bioss As ManagementObjectCollection = BiosClass.GetInstances()
Dim BiossEnumerator As _
ManagementObjectCollection.ManagementObjectEnumera tor = _
Bioss.GetEnumerator()
Bios_ID = "1"
While BiossEnumerator.MoveNext()
Dim Bios As ManagementObject = _
CType(BiossEnumerator.Current, ManagementObject)
' Bios_ID = Bios("BiosCharacteristics")

Bios_ID = Join(Bios("BIOSVersion"))
Bios_ID &= Bios("BuildNumber")
Bios_ID &= Bios("Caption")
Bios_ID &= Bios("IdentificationCode")
Bios_ID &= Bios("Manufacturer")
Bios_ID &= Bios("Name")
Bios_ID &= Bios("SerialNumber")

End While
Return Bios_ID
End Function

ar.shirazi
سه شنبه 26 آذر 1387, 23:16 عصر
در اینجا (http://www.codeproject.com/KB/system/GetHardwareInformation.aspx)هم مقاله کاملی در این زمینه است که توصیه میکنم آن را ببینید

rezapassword
چهارشنبه 27 آذر 1387, 10:37 صبح
سلام سپهر جان

ببین من یه مشکلی دارم
وقتی تو این کد شما مقدار کارت گرافیک رو به صورت کامل یعنی دیوایس رو مینویسه به این صورت
NVIDIA GeForce 8600GTX
اما من میخوام فقط بنویسه
8600
همین
و برای سی پی یو هم مینویسه
3878
که باید بنویسه
3.8
من اینو چه طور درستش کنم
و برای مقدار رم هم چیزی که نوشتم خطا میگیره ؟
قربونت خیلی اینو لازم دارم
میشه ریدیفش کنی ؟
ممنون میشم
کدشو گذاشتم
http://www.up.ma/images/kixvgsvvvbitxkd63q7k.rar

rezapassword
چهارشنبه 27 آذر 1387, 16:53 عصر
داداش یه کمکی برسون من گیرم ؟

parsehvb
پنج شنبه 28 آذر 1387, 13:02 عصر
این برای CPU



Dim Str AsString = "Hardware\DESCRIPTION\System\CentralProcessor\0"
Dim StrGet AsString = "ProcessorNameString"
Dim Reg As RegistryKey
Try
Reg = Registry.LocalMachine.OpenSubKey(Str.ToString)
LblProType.Text = Reg.GetValue(StrGet.ToString)
Reg.Close()
Catch ex As Exception
EndTry
Strings.Right(StrGet, 7)

parsehvb
پنج شنبه 28 آذر 1387, 13:22 عصر
این هم برای VGA البته باید خودت فیلد DeviceName رو از این لیست استخراج کنی




Imports System


Imports System.Collections



Imports System.Management




بعد



Dim Get_Mainboard_Info AsString = ""
Dim search AsNew ManagementObjectSearcher("SELECT * FROM win32_displayConfiguration")
Dim info As ManagementObject
Dim pc As PropertyData
ForEach info In search.Get()
ForEach pc In info.Properties
Try
'MsgBox(pc.Name + " : " + pc.Value.ToString)
Me.DataGridView.Rows.Add(pc.Name + " : " + pc.Value.ToString)
Catch ex As Exception
EndTry
Next
Next

rezapassword
پنج شنبه 28 آذر 1387, 14:24 عصر
داداش دستت درد نکنه
اما من خودم سی پیو و رم رو حلش کردم
مال شما هم که همون قبلی هاست
فقط این کارت گرافیکو برا مال حل کنید ها دیگه مشکلم حله
فقط پروسسور رو نشون بده
مثلا 8600

sepehr.net
پنج شنبه 28 آذر 1387, 19:03 عصر
سلام
من راه حل مناسبی پیدا نکردم
فقط میتونم بهت پیشنهاد بکنم که به این صورت عمل کنی:

Dim c As New Management.ManagementObjectSearcher("SELECT Caption FROM Win32_DisplayControllerConfiguration")
Dim name As String
For Each ObjMng In c.Get
name = ObjMng("Caption").ToString
Next
MsgBox(name)
اخر خروجی این دستور (تا انجا که من امتحان کردم) همیشه عدده
شما میتونید با استفاده از توابعی که روی رشته کار میکنند عدد آن را از آخر رشته پیدا کنید
شاید هم بشه روی کوئری فیلتر گذاشت ولی من نتونستم

rezapassword
جمعه 29 آذر 1387, 08:17 صبح
سپهر جان
میشه نام دیوایس رو در یک تکس باکس لود کنیم
همون
nvidia gforce 8600 gtx و بعد با کدی دیگر فقط اعداد درون این تکس باکس که میشه همون 8600 رو در یک تکس باکس دیگه لود کنیم
ایا شما این کد رو می دونید ؟

sepehr.net
جمعه 29 آذر 1387, 15:02 عصر
فکر کنم روش خوبی باشه
میتونی در خاصیت change تکس باکس بگی که فقط عدد رو نشون بده
من که توی توابع دات نت تونستم تابعی رو پیدا کنم که این کار رو انجام بده

rezapassword
جمعه 29 آذر 1387, 16:53 عصر
سلام اقا سپهر عزیز
بله خودم هم فکر میکنم فکر جالبی باشه
من هم مثل شما نه تابعی پیدا کردم و نه راهی
راستی پیشنهاد میکنم که پیغام خصوصی تون رو فعال کنید شاید چیزی پیدا کردم تا اونوقت برای شما هم بفرستم
راستی این تکس باکس من خاصیت change نداره !
وی بی شما 2008 هست ؟
ممنون

rezapassword
جمعه 29 آذر 1387, 19:22 عصر
سلام اقا سپهر عزیز
من اینو پیدا کردم
ببین شما نمیتونی بسته به نیازمون تغیرش بدی ؟
من که نتونستم
ممنون میشم
یا حق
http://www.up.ma/images/1sqzp7nduhfawl8yamd4.rar

sepehr.net
جمعه 29 آذر 1387, 20:00 عصر
من میخواستم تا انجا که میشه از این کد استفاده نکنی ولی مثل این که مجبوری

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
For i As Integer = 1 To Len(TextBox1.Text)
If IsNumeric(Mid(TextBox1.Text, i, 1)) = True Then
TextBox2.Text &= Mid(TextBox1.Text, i, 1)
End If
Next
End Sub

rezapassword
شنبه 30 آذر 1387, 08:43 صبح
چرا مگه چه اشکالی داره ؟
تشکر بابت کد

sepehr.net
شنبه 30 آذر 1387, 09:00 صبح
اشکالش اینه که اگه تو مشخصات کارت گرافیک عدد دیگری هم باشه اون عدد رو هم در نظر میگیره
اگه بتونی با همون wql این کار را انجام بدی دقت اون خیلی بالا تر از اینه

rezapassword
شنبه 30 آذر 1387, 10:47 صبح
سلام
سپهر جان کد شما کار کرد
خیلی متشکرم

در ضمن wql تابعی در این باره نداره متاسفانه
یا حق

kosar ranjbar
دوشنبه 14 اردیبهشت 1388, 21:04 عصر
سلام

لطفا سورس کد های درست پیدا کردن مشخصات سیستم ( cpu - ram - vga ) برام ارسال کنید . من تمام کدهایی که توسط سوال شما در این سایت قرار داشت را امتحان کردم ولی پاسخ نداد .

متشکرم

sedehi
سه شنبه 13 مهر 1389, 02:54 صبح
برای سریال فیزیکی هارد با ساتفاده از VB .net چکار میشه کرد ؟
منظورم سریال کارخانه است نه سریال نامبر درایو که قابل تغییر است .

آناهیتا_مولایی
سه شنبه 13 مهر 1389, 22:47 عصر
برای سریال فیزیکی هارد با ساتفاده از VB .net چکار میشه کرد ؟
منظورم سریال کارخانه است نه سریال نامبر درایو که قابل تغییر است .

یکی از بچه ها که یه قفل نرم افزاری طراحی کرده فکر کنم سریال هارد دیسک اصلی نه ( Volume ) رو خیلی دقیق از رو هارد دیسک میخونه شاید بتونه کمک کنه .:لبخند:

mahdi2elve
چهارشنبه 07 اسفند 1392, 23:04 عصر
سلام . خسته نباشید به همگی دوستان.
معذرت میخام پیشاپیش .
چون بنده هنوز برنامه نویس نیستم .
و اگه یه سوال ناشیانه ای پرسیدم لطفا منو ببخشید.
این کد هایی که میگین رو باید با asp.net نوشت؟
برای زبان php هم این کد ها وجود دارن؟
اگه کلا سوالم غلطه و این هیچ ربطی نداره . و میشه این کد ها رو تو هر دو زبان استفاده کرد بهم بگین.
چون برام خیلی مهمه
میخام زبانی رو که شروع به خودن میکنم حتما این 4 کد رو داشته باشه
رم - سی پی یو - مادربرد -گرافیک
حالا اطلاعات دیگه هم بشه از سیستم کاربر درآورد که عالیه .
لطفا راهنماییم کنید