กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
252 3
URL.หัวข้อ /
URL
ขอนอกเรื่องเกี่ยว VB หน่อยนะครับ
คืองี้ครับผมได้ดูโค๊ตที่ให้มาเกี่ยวกะ การดู Serieal Number ของ HDD แล้วแต่ใช้ไม่ได้นะครับ
คือผมอยากจะใช้จริงครับ แล้วอีกอย่าง อยากได้โค๊ตและการอธิบายด้วยอะครับ รบกวนอย่างแรงครับ
อ้อ อีกอย่างนะครับ คือ S/N ของ HDD เขาจะเป็นเลขฐาน 16 แล้วเราจะต้องใช้ในการคำนวน มีคำสั่งแปลงเป็นฐาน 10 ด้วยก็ดีนะครับ ขอบคุณมากๆ ครับผม คอนเซปที่ต้องการก็ตามที่บอกมาครับ
ส่วนรูปร่างก็คือ มี Text1 เป็นตัวแสดงค่า S/N HDD มีปุ่ม OK พอกดก็ให้โชว์ที่ TEXT1 อะครับ
......................ขอขอบคุณมานะที่นี้เลยนะครับผม ขอบคุณหลายๆ เด้อครับ
คือผมอยากจะใช้จริงครับ แล้วอีกอย่าง อยากได้โค๊ตและการอธิบายด้วยอะครับ รบกวนอย่างแรงครับ
อ้อ อีกอย่างนะครับ คือ S/N ของ HDD เขาจะเป็นเลขฐาน 16 แล้วเราจะต้องใช้ในการคำนวน มีคำสั่งแปลงเป็นฐาน 10 ด้วยก็ดีนะครับ ขอบคุณมากๆ ครับผม คอนเซปที่ต้องการก็ตามที่บอกมาครับ
ส่วนรูปร่างก็คือ มี Text1 เป็นตัวแสดงค่า S/N HDD มีปุ่ม OK พอกดก็ให้โชว์ที่ TEXT1 อะครับ
......................ขอขอบคุณมานะที่นี้เลยนะครับผม ขอบคุณหลายๆ เด้อครับ
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R04170
ผมเอาไปรองกะ VB แล้วไอ้ตรงโมดูลอะครับ จะไปวางจรงไหนของ VB รบกวนแนะนำทีครับ
3 @R04171
มัน Error บรรทัดนี้ครับ Public Const MAX_FILENAME_LEN = 256
แล้วอีกอันที่สงสัย text1.text = GetDriveSerialNumber("C:")
ไม่ทราบว่าตรง C: ต้องเป็น C:\ หรือป่าวครับ
แล้วอีกอันที่สงสัย text1.text = GetDriveSerialNumber("C:")
ไม่ทราบว่าตรง C: ต้องเป็น C:\ หรือป่าวครับ
Time: 0.1748s
ผมลองใช้ใน vb หรือ access ก็ใช้ได้ไม่มีปัญหา
ให้คุณสร้าง module ใหม่ขึ้นมา เอาโค๊ดนี้ไปวาง แล้วเซฟชื่ออะไรก็ได้
Public Declare Function GetVolumeInformation& Lib "kernel32" _
Alias "GetVolumeInformationA" (ByVal lpRootPathName _
As String, ByVal pVolumeNameBuffer As String, ByVal _
nVolumeNameSize As Long, lpVolumeSerialNumber As Long, _
lpMaximumComponentLength As Long, lpFileSystemFlags As _
Long, ByVal lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As Long)
Public Const MAX_FILENAME_LEN = 256
Public Function GetDriveSerialNumber(Drive As String) As String
'ตรวจสอบ Harddisk Serial ID
Dim No&, s As String * MAX_FILENAME_LEN
Call GetVolumeInformation(Drive + ":\", s, MAX_FILENAME_LEN, _
No, 0&, 0&, s, MAX_FILENAME_LEN)
GetDriveSerialNumber = Mid(Hex(No), 1, 4) & "-" & Mid(Hex(No), 5, 4)
End Function
ที่ฟอร์ม สร้างเท๊กซบ๊อกมา แล้วเขียนโค๊ดตามนี้
text1.text = GetDriveSerialNumber("C:")
มันจะคืนค่าซีเรี่ยลของไดรฟ์ซี กลับมาเป็น string
เรื่องการแปลงเลขฐาน10 ผมว่าคุณน่าจะเขียนฟังก์ชั่นแปลงได้นี่นา ไม่น่ายาก