PDA

View Full Version : شناسه نرم افزاری یا سخت افزاری ...



ehsan-68
جمعه 26 آبان 1391, 17:08 عصر
سلام به دوستان عزیز ...

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

یعنی اگر ویندوز مجدد نصب بشه اون شناسه تغییر کرده باشه ...

به عنوان مثال اگه شناسه مثلا هارد 1000 باشه دوباره که ویندوز نصب میشه تغییر کرده باشه مثلا 5000 شده باشه ...

(البته اینم میدونم شناسه هارد تغییر نمیکنه برای مثال گفتم و جلوگیری از دست انداختن :لبخند: )

arash020
جمعه 26 آبان 1391, 22:47 عصر
سلام
امکان داره سریال ویندوز رو پیدا کرد ؟
اگه نمیشه
شما میتونی کد سریال هارد رو با یه رشته از ساعت و تاریخ جمع کنی تا هیچ وقت دوتا مثل هم نشه...
متوجه شدی؟
مثلا:
345436 + 02 03 2012

gilsoft
شنبه 27 آبان 1391, 02:02 صبح
سلام دوست عزیز

از کد زیر میتونی الهام بگیری :


Imports Microsoft.Win32

Module Module1

'HKEY_LOCAL_MACHINE\SOFTWARE\MyAppName

Sub CreateRegKey()
Dim SecurityKey As String = Now.ToShortDateString
Dim regKey As RegistryKey = Registry.LocalMachine.CreateSubKey("Software\MyAppName")
regKey.SetValue("InsDate", SecurityKey, RegistryValueKind.String)
regKey.Close()


' رو باید توی بانک برنامه ات ذخیره کنی SecurityKey

End Sub

Function CheckRegKey() As Boolean

Dim SecurityKey As String = "???" 'فراخوانی از بانک برنامه ات

Dim regKey As RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey("Software\MyAppName", True)
Dim Value As String = regKey.GetValue("InsDate").ToString

If Value = SecurityKey Then
Return True
Else
Return False
End If
End Function

End Module

شما میتونی با اضافه کردن چند سطر کد به ()CreateRegKey تاریخ روز رو تو یه بانک ذخیره کنی و با ()CheckRegKey اونو چک کنی

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

موفق باشید

jalil_m
شنبه 27 آبان 1391, 06:57 صبح
این تاریخ نصب ویندوز رو برمیگردونه؟

gilsoft
شنبه 27 آبان 1391, 07:18 صبح
این تاریخ نصب ویندوز رو برمیگردونه؟


سلام دوست عزیز

نه ! تاریخ روز رو برمیگردونه

اون اسم رجیستری رو خودم انتخاب کردم

شما میتونید بجای MyAppName یک اسم دلخواه انتخاب کنید ...

ehsan-68
شنبه 27 آبان 1391, 09:27 صبح
سلام ...

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

ولی من یه دستور میخوام مثل این کدی که نوشتم :


txtcodhard.Text = objHardwareInforer.GetHardDiskSerial()


نمیخوام زیاد طولانی باشه و پیچیده ... و فقط میخوام خروجی رو تویه تکست باکس نشون بدم و در دستورات دیگه مقایسه کنم ...

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

gilsoft
شنبه 27 آبان 1391, 18:05 عصر
این تاریخ نصب ویندوز رو برمیگردونه؟

سلام دوست عزیز

ابتدا رفرنس System.Management رو به پروژه اضافه کن

Public Function GetWindowsInstallationDateTime() As DateTime
Dim dtmInstallDate As DateTime

Dim oSearcher As New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem")

For Each oMgmtObj As ManagementObject In oSearcher.Get
dtmInstallDate = ManagementDateTimeConverter.ToDateTime(CStr(oMgmtO bj("InstallDate")))
Next

Return (dtmInstallDate)
End Function

نحوه استفاده از تابع فوق :

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
TextBox1.Text = CStr(GetWindowsInstallationDateTime())
End Sub

موفق باشید

gilsoft
شنبه 27 آبان 1391, 18:13 عصر
سلام ...

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

ولی من یه دستور میخوام مثل این کدی که نوشتم :


txtcodhard.Text = objHardwareInforer.GetHardDiskSerial()


نمیخوام زیاد طولانی باشه و پیچیده ... و فقط میخوام خروجی رو تویه تکست باکس نشون بدم و در دستورات دیگه مقایسه کنم ...

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




سلام دوست عزیز

ابتدا رفرنس System.Management رو به پروژه اضافه کن

تابع جهت فراخوانی سریال هارد دیسک

Public Function GetHardDiskSerial() As String
Try
Dim searcher As ManagementObjectSearcher
Dim query As String = "SELECT * FROM Win32_PhysicalMedia"
searcher = New ManagementObjectSearcher(query)
Dim SR As String = Nothing
For Each wmi_HD As ManagementObject In searcher.Get()
If Not wmi_HD("SerialNumber") Is Nothing Then
SR += wmi_HD("SerialNumber").ToString().Trim
End If
Next
Return SR
Catch ex As Exception
Throw (New Exception("Error in Hard Disk Serial" & ex.Message))
End Try
End Function

نحوه استفاده از تابع فوق :

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
TextBox1.Text = GetHardDiskSerial()
End Sub

موفق باشید

ehsan-68
شنبه 27 آبان 1391, 18:31 عصر
gilsoft (http://barnamenevis.org/member.php?48971-gilsoft) عزیزم ...

من شناسه ویندوزو میخوام نه هارد دیسکو ... هارد دیسکو دارم ....

یه شناسه که بعد از هر بار نصب ویندوز تغییر کنه ...

در حد یک خط ...

gilsoft
شنبه 27 آبان 1391, 18:42 عصر
gilsoft (http://barnamenevis.org/member.php?48971-gilsoft) عزیزم ...

من شناسه ویندوزو میخوام نه هارد دیسکو ... هارد دیسکو دارم ....

یه شناسه که بعد از هر بار نصب ویندوز تغییر کنه ...

در حد یک خط ...

دوست عزیز ... به نظر من بهترین گزینه .. همون کدی که تو پست 7# گذاشتم هستش .... و نحوه ی استفاده ی اونم تو همون پست اضافه کردم .... :لبخندساده:

در غیر اینصورت باید از دوستان دیگه ای کمک بگیریم ... :متفکر:

MOR_MS
شنبه 27 آبان 1391, 22:07 عصر
با سلام و خسته نباشيد
اين تابع شما چرا شماره هارد ديسك من را نشان نمي دهد

ehsan-68
شنبه 27 آبان 1391, 23:22 عصر
با سلام و خسته نباشيد
اين تابع شما چرا شماره هارد ديسك من را نشان نمي دهد

اینو امتحان کن ببین جواب میده :
Imports System.Collections
Imports System.Management
Imports System.Security.Cryptography

بعدشم

Private objHardwareInforer As New HardwareInformer.ManamSoftware

در رویداد باتن یا لود فرمتم این :

TEXTBOX1.TEXT = objHardwareInforer.GetHardDiskSerial()

alimanam
یک شنبه 28 آبان 1391, 20:48 عصر
با سلام

با استفاده از رفرنسی که براتون نوشتم با هر بار نصب کردن سیستم عامل یک سریال یونیک به دست بیارین . برای استفاده بعد از اضافه کردن رفرنس به پروژه , کد زیر رو در هر قسمتی که نیاز دارین صدا کنین ( نیازی به ساختن آبجکت از کلاس رفرنس نیست )

TextBox1.Text= Serials.PCSerials.GetOSSerial()

موفق باشید./

gilsoft
یک شنبه 28 آبان 1391, 22:20 عصر
با سلام

با استفاده از رفرنسی که براتون نوشتم با هر بار نصب کردن سیستم عامل یک سریال یونیک به دست بیارین . برای استفاده بعد از اضافه کردن رفرنس به پروژه , کد زیر رو در هر قسمتی که نیاز دارین صدا کنین ( نیازی به ساختن آبجکت از کلاس رفرنس نیست )

TextBox1.Text= Serials.PCSerials.GetOSSerial()

موفق باشید./

سلام آقای دخیل زاده

فایل ضمیمه ی شما Password داره !