ขอบคุณครับ ผมขอรบกวนอีกเรื่องนึง
ตอนนี้ผมได้ Code มาแล้ว
การทำงานของมันคือ
เมื่อฟอร์มถูกโหลดขึ้นมา มันจะอ่าน Serial Volume Number ของ Drive C: มาและเขียนลงไฟล์
แต่มันมีบรรทัดนึงที่มีเส้นยึกยือสีเขียวอยู่และมีข้อความแจ้งขึ้นมา (แต่โปรแกรม Run ได้ตามปกตินะครับ) ในภาพ
เลยกลัวว่าใช้ไปมันจะมีผลอะไรไหมครับ เช่น ใช้ไปนานๆแล้วช้า หรืออะไรแบบนี้
Code (VB.NET)
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim svn As String
Dim have_file = My.Computer.FileSystem.GetFileInfo("C:\WINDOWS\system32\sn.ini")
svn = LwSerialNumber("C:\")
If have_file.Exists Then
My.Computer.FileSystem.DeleteFile("C:\WINDOWS\system32\sn.ini")
End If
My.Computer.FileSystem.WriteAllText("C:\WINDOWS\system32\sn.ini", svn, False)
End Sub
Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Integer, ByRef lpVolumeSerialNumber As Integer, ByRef lpMaximumComponentLength As Integer, ByRef lpFileSystemFlags As Integer, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Integer) As Integer
Public Function LwSerialNumber(ByVal Lw As String) As String
Dim FileSystem As String
Dim SerNum As Long
Dim MaxLen As Long
Dim Flags As Long
Dim VolSize As Long
Dim VolLabel As String
Dim SerialNumber As String
FileSystem = Space(256)
If GetVolumeInformation(Lw, VolLabel, VolSize, SerNum, MaxLen, Flags, FileSystem, Len(FileSystem)) <> 0 Then
SerialNumber = Trim(Hex(SerNum))
SerialNumber = Microsoft.VisualBasic.Strings.Left(SerialNumber, 4) & "-" & Microsoft.VisualBasic.Strings.Right(SerialNumber, 4)
LwSerialNumber = SerialNumber
Else
LwSerialNumber = "Invalid Drive"
End If
End Function
End Class