สามารถอ่านหมายเลขฮาร์ดิสเข้าไปเก็บใน Table ได้ไหมครับ
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 373   7
URL.หัวข้อ / URL
สามารถอ่านหมายเลขฮาร์ดิสเข้าไปเก็บใน Table ได้ไหมครับ

มีวิธีอ่านหมายเลขฮาร์ดดิสเข้าไปเก็บใน table หรือเปล่าครับ

7 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R00998
ลองใช้โค้ดข้างล่างดูครับ ไม่รู้จะเป็น Serial Number ตัวที่ต้องการหรือเปล่านะครับ Function GetAllDrivesID() As String Dim objFS As Object, objFolder As Object, objFiles As Object Dim objSubFolder As Object, strFolderPath As String, objF1 As Object Dim objDrive As Object Set objFS = CreateObject("Scripting.FileSystemObject") Set objFolder = objFS.Drives For Each objDrive In objFolder Debug.Print objDrive.DriveLetter & " --> " & objDrive.VolumeName & " --> " & objDrive.SerialNumber Next End Function
2 @R01000
ขอบคุณมากครับ คุณสุภาพ
3 @R01001
VolumeName : เป็นชื่อของ drive ที่ตั้งขึ้น ถ้าเป็นระบบ dos จะเกิดจากคำสั่ง Label ครับ.. ส่วน หมายเลขฮาร์ดดิส เกิดขึ้นตอน format harddisk ครับ.. ผมมีตัวอย่าง code ให้ศึกษาอีกตัวอย่างครับดังนี้.. 1.copy code ด้านล่างนี้ไปไว้ใน module Const FS_CASE_SENSITIVE = &H1 Const FS_UNICODE_STORED_ON_DISK = &H4 Const FS_PERSISTENT_ACLS = &H8 Const FS_FILE_COMPRESSION = &H10 Const FS_VOLUME_IS_COMPRESSED = &H8000 Const FILE_NAMED_STREAMS = &H40000 Const FILE_SUPPORTS_ENCRYPTION = &H20000 Const FILE_SUPPORTS_OBJECT_IDS = &H10000 Const FILE_SUPPORTS_REPARSE_POINTS = &H80 Const FILE_SUPPORTS_SPARSE_FILES = &H40 Const FILE_VOLUME_QUOTAS = &H20 Public Declare Function GetVolumeInformation Lib "kernel32.dll" Alias _ "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer _ As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, _ lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal _ lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long 2. copy code ด้านล่างนี้ ไปไว้ใน form แล้วแต่ว่าจะใช้ในสถานการณ์ อะไร เช่น.. ถ้าใช้ command ก็ Event OnClick , ถ้าใช้ textbox ก็อาจจะใช้ Event AfterUpdate เป็นต้น 'Display the volume label, serial number, and file system name ' of the C: drive. Note how the serial number value is manipulated to ' display it properly. Dim volname As String ' receives volume name of C: Dim sn As Long ' receives serial number of C: Dim snstr As String ' display form of serial number Dim maxcomplen As Long ' receives maximum component length Dim sysflags As Long ' receives file system flags Dim sysname As String ' receives the file system name Dim retval As Long ' return value ' Initialize string buffers. volname = Space(256) sysname = Space(256) ' Get information about the C: drive's volume. retval = GetVolumeInformation("C:\", volname, Len(volname), sn, maxcomplen, _ sysflags, sysname, Len(sysname)) ' Remove the trailing nulls from the two strings. volname = Left(volname, InStr(volname, vbNullChar) - 1) sysname = Left(sysname, InStr(sysname, vbNullChar) - 1) ' Format the serial number properly. snstr = Trim(Hex(sn)) snstr = String(8 - Len(snstr), "0") & snstr snstr = Left(snstr, 4) & "-" & Right(snstr, 4) ' Display the volume name, serial number, and file system name. MsgBox "Volume Name: " & volname & Chr(10) & "Serial Number: " & snstr & Chr(10) & "File System: " & sysname หมายเหตุ : ผมได้ code นี้มาจากเว็บ VB & Access หนึ่งซึ่งจำชื่อไม่ได้แล้วครับ ต้องขออภัยเจ้าของ code ด้วย ถ้าผมค้นเจอจะ post มาประกาศเกียรติคุณต่อไปครับ..!
4 @R01003
ขอบคุณ อ. BADMan สำหรับโค้ดที่แจ้งเข้ามาครับ ลองเลือกใช้ดูนะครับ คงจะนำไปใช้ในการตรวจเช็คนั้นๆ ได้เหมือนกัน ผมไม่รู้เหมือนกันว่ามันต่างกันอย่างไร ตัวไหนจะอยู่กับ Hard Disk ตลอด หรือจะหายไปทั้ง 2 ตัวตอนแบ่ง Partition และ Format ใหม่ หรือไม่?
5 @R01007
หรือจะหายไปทั้ง 2 ตัวตอนแบ่ง Partition และ Format ครับ
6 @R01048
ขอบคุณครับ
7 @R02843
ใช้ได้ดีทีเดียวครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1257s