PDA

View Full Version : سوال: حساس کردن برنامه به شماره سریال هارد دیسک



vahid_visualbasic
جمعه 03 خرداد 1387, 22:56 عصر
من یک برنامه در دات نت نوشتم حالا یه دستور میخوام که توی خود سورس برنامه شماره سریال هارد دیسک رو وارد کنم که برنامه فقط با همین شماره سریال کار کنه و روی سیستم دیگری اجرا نشود؟ امکانش هست؟؟

mojtaba-saleh
جمعه 03 خرداد 1387, 23:11 عصر
با این کد میتونی شماره سریال CPU سیستم رو بدست بیاری. بقیش با خودتون
شماره سریال cpu از هارد مطمئن تره چون بعضی هارد ها رو باید با روش های متفاوت شماره سریال هاشونو بدست بیاری


Private Function wmiProcessorInfo() As String
Dim cpuSet As System.Object
Dim cpu As System.Object
cpuSet = GetObject("winmgmts:{impersonationLevel=impersonate}"). _
InstancesOf("Win32_Processor")
For Each cpu In cpuSet
strR = cpu.processorid
Next
wmiProcessorInfo = strR
End Function

saghari
شنبه 04 خرداد 1387, 03:59 صبح
با سلام
http://barnamenevis.org/forum/showthread.php?p=523420#post523420

Nima NT
شنبه 04 خرداد 1387, 13:48 عصر
آقا اون کدی که واسه سریال سی پی یو نوشتی درست جواب نمیده
من تو چند تا سیستم تست کردم سریالهای یکسان می ده

saghari
شنبه 04 خرداد 1387, 17:01 عصر
با سلام
دوست عزیز توی کدی که براتون گذاشتم شما میتونید سریال و سایر مشخصات cpu رو بدست بیارید.
مثلا اگه فقط سریال cpu رو میخواهید در کد
Dim search As New ManagementObjectSearcher("SELECT * FROM " + Trim(cmbxOption.SelectedItem)) از
Dim search As New ManagementObjectSearcher("SELECT * FROM Win32_Processor") استفاده کنی و کد زیر رو جایگزین کنی
For Each info In search.Get()
MsgBox(info("ProcessorId"))
Next
و به همین روش میتونی مشخصات همه فسمت های سیستم رو بدست بیاری

ali_habibi1384
سه شنبه 07 خرداد 1387, 08:11 صبح
از این کد استفاده کن:


Private Type SYSTEM_INFO
dwOemID As Long
dwPageSize As Long
lpMinimumApplicationAddress As Long
lpMaximumApplicationAddress As Long
dwActiveProcessorMask As Long
dwNumberOrfProcessors As Long
dwProcessorType As Long
dwAllocationGranularity As Long
dwReserved As Long
End Type
Private Declare Sub GetSystemInfo Lib "kernel32" (lpSystemInfo As SYSTEM_INFO)
Private Sub Form_Load()
Dim Info As SYSTEM_INFO

Me.AutoRedraw = True
GetSystemInfo Info
Me.Print "Number of processor:" + Str$(Info.dwNumberOrfProcessors)
Me.Print "Processor:" + Str$(Info.dwProcessorType)
Me.Print "Low memory address:" + Str$(Info.lpMinimumApplicationAddress)
Me.Print "High memory address:" + Str$(Info.lpMaximumApplicationAddress)
Me.Print "dwPageSize:" + Str$(Info.dwPageSize)
Me.Print "dwActiveProcessorMask:" + Str$(Info.dwActiveProcessorMask)
End Sub

vahid_visualbasic
چهارشنبه 08 خرداد 1387, 00:30 صبح
نرم افزار Armadillo هم این کارارو انجام میده به نظرتون کارش چطوره؟؟

ali_habibi1384
پنج شنبه 09 خرداد 1387, 07:50 صبح
من کار نکردم . میشه سورسی ازش قرار بدید؟

vahid_visualbasic
شنبه 03 مرداد 1388, 17:55 عصر
من کار نکردم . میشه سورسی ازش قرار بدید؟
سلام سورس نداره خود نرم افزار یه پوسته محافظت کننده میزاره رو برنامه .این نرم افزار رو تو بسته اموزشی قفل نگهبان دیدم البته خودش هم کرک شده !!!!!!! نمیدونم چطوری میخوات از نرم افزار ما محافظت کنه!!!!!

alimanam
شنبه 03 مرداد 1388, 22:50 عصر
با عرض سلام

تا اونجایی که من اطلاع دارم شماره هارد دیسک رو با روشهای نرم افزاری نمیشه تغییر داد پس درصد اطمینانش بالاتره . با علی .