ในยุคของการเคารพลิขสิทธิ์ซอฟต์แวร์ การประยุกต์ใช้ซอฟต์แวร์ที่ลงทะเบียนทางอิเล็กทรอนิกส์กำลังแพร่หลายมากขึ้นเรื่อยๆ รูปลักษณ์ภายนอกช่วยให้ผู้ใช้มีความเข้าใจเกี่ยวกับฟังก์ชันที่ไม่จำกัดในโปรแกรม มีบทบาทในการส่งเสริมการขายและการเผยแพร่ และยังปกป้องผลประโยชน์ที่สำคัญของผู้ผลิตอีกด้วย แล้วเราจะสร้างซอฟต์แวร์เวอร์ชันการลงทะเบียนทางอิเล็กทรอนิกส์ได้อย่างไร
หลังจากการสำรวจ ผู้เขียนเพียงสร้างซอฟต์แวร์เวอร์ชันลงทะเบียนอิเล็กทรอนิกส์โดยใช้ VB
หลักการออกแบบ
ใช้ฟังก์ชัน "GetVolumeInformation" ใน API เพื่อแยกหมายเลขซีเรียลของฮาร์ดดิสก์ของเครื่องของผู้ใช้เป็นโค้ดคุณลักษณะ รหัสนี้จะถูกส่งในระหว่างการลงทะเบียน และจะถูกคำนวณโดยเจ้าของลิขสิทธิ์ซอฟต์แวร์เพื่อให้รหัสการลงทะเบียน ผู้ใช้ป้อนรหัสการลงทะเบียนเพื่อเสร็จสิ้นกระบวนการลงทะเบียนทั้งหมด (เพื่อให้คำอธิบายง่ายขึ้น ในตัวอย่างนี้ โค้ดคุณลักษณะลบ 101 จะถูกนำมาใช้เป็นรหัสการลงทะเบียน)
สร้างไฟล์โมดูลใหม่
สร้างไฟล์โมดูลใหม่และเพิ่มคำสั่งและค่าคงที่ที่ประกาศต่อไปนี้ให้กับโมดูล Module1.Bas:
ประกาศฟังก์ชัน GetVolumeInformation Lib "kernel32" นามแฝง "GetVolumeInformationA"
(ByVal lpRootPathName เป็นสตริง, ByVal lpVolumeNameBuffer เป็นสตริง, ByVal
nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As
ยาว lpFileSystemFlags ตราบเท่าที่ ByVal lpFileSystemNameBuffer เป็นสตริง ByVal
nFileSystemNameSize As Long) ตราบเท่าที่
GetVal ทั่วโลกตราบเท่าที่
เมื่อเขียนโปรแกรม โปรดใช้ความระมัดระวังในการเขียนคำสั่งการประกาศในบรรทัดเดียวกัน
การตั้งค่าแบบฟอร์ม
เพิ่มกล่องข้อความ 2 กล่องบน Form1 และตั้งค่าคุณสมบัติ Name เป็น Text1 และ Text2 ตามลำดับ เพิ่มปุ่มอื่นและตั้งค่าคุณสมบัติ Name เป็น Command1
เพิ่มรหัส
เพิ่มรหัสโปรแกรมต่อไปนี้ลงในเหตุการณ์ Form1_Load ของ Form1:
แบบฟอร์มย่อยส่วนตัว_Load()
Dim TempStr1 เป็นสตริง * 256
Dim TempStr2 เป็นสตริง * 256
Dim TempLon1 ตราบเท่าที่
Dim TempLon2 ตราบเท่าที่
-
'อ่านข้อมูลว่าจะลงทะเบียนหรือไม่' จะไม่มีการอธิบายวิธีการควบคุมที่นี่
-
โทร GetVolumeInformation ("C:", TempStr1, 256, GetVal, TempLon1, TempLon2, TempStr2, 256)
Text1.Text = GetVal 'แยกหมายเลขซีเรียลของไดรฟ์ C ในเครื่องไปยังกล่องข้อความหนึ่ง
จบหมวดย่อย
เพิ่มรหัสโปรแกรมต่อไปนี้ในเหตุการณ์ Command1_Click ของ Command1:
คำสั่งย่อยส่วนตัว1_คลิก()
ถ้า Text2 〈〉 CStr(GetVal) แล้ว
MsgBox "รหัสลงทะเบียนไม่ถูกต้อง กรุณาตรวจสอบอย่างละเอียดว่าใส่ถูกต้องหรือไม่"
อื่น
MsgBox "คุณลงทะเบียนสำเร็จแล้ว โปรดรีสตาร์ทซอฟต์แวร์"
-
(เขียนข้อมูลการลงทะเบียนที่ถูกต้องเพื่อไม่ให้ถูกจำกัดการทำงานของซอฟต์แวร์ในอนาคต สามารถกำหนดวิธีการเฉพาะได้ตามความต้องการส่วนบุคคล)
-
สิ้นสุดถ้า
จบหมวดย่อย
ณ จุดนี้เราสามารถรันโปรแกรมได้ คุณจะพบว่าเราใช้ฟังก์ชันการใช้หมายเลขซีเรียลของฮาร์ดดิสก์เพื่อสร้างซอฟต์แวร์เวอร์ชันที่ลงทะเบียนทางอิเล็กทรอนิกส์