คือต้องการเช็คสเตตัสของเครื่องพิมพ์อ่ะค่ะ โดยอิงจากโค้ดในเว็บนี้นะคะ
https://support.microsoft.com/en-us/kb/202480
คือแปลงแล้ว แต่ยังติดบางส่วนอยู่
Public Function GetString(ByVal PtrStr As Long) As String
Dim StrBuff As String * 256
ตรงนี้ ลองเปลี่ยนเป็น Dim StrBuff As String = StrBuff * 256 ก็ยังไม่ผ่านค่ะ
'Check for zero address
If PtrStr = 0 Then
GetString = " "
Exit Function
End If
'Copy data from PtrStr to buffer.
CopyMemory(StrBuff, PtrStr, 256)
'Strip any trailing nulls from string.
GetString = StripNulls(StrBuff)
End Function
กับ
Public Function PtrCtoVbString(Add As Long) As String
Dim sTemp As String * 512
Dim x As Long
x = lstrcpy(sTemp, Add)
If (InStr(1, sTemp, Chr(0)) = 0) Then
PtrCtoVbString = ""
Else
PtrCtoVbString = Left(sTemp, InStr(1, sTemp, Chr(0)) - 1)
End If
End Function
ขอบคุณค่ะ
รบกวนช่วยแปลงโค้ด vb เป็น vb.net หน่อยค่ะ
https://support.microsoft.com/en-us/kb/202480
คือแปลงแล้ว แต่ยังติดบางส่วนอยู่
Public Function GetString(ByVal PtrStr As Long) As String
Dim StrBuff As String * 256
ตรงนี้ ลองเปลี่ยนเป็น Dim StrBuff As String = StrBuff * 256 ก็ยังไม่ผ่านค่ะ
'Check for zero address
If PtrStr = 0 Then
GetString = " "
Exit Function
End If
'Copy data from PtrStr to buffer.
CopyMemory(StrBuff, PtrStr, 256)
'Strip any trailing nulls from string.
GetString = StripNulls(StrBuff)
End Function
กับ
Public Function PtrCtoVbString(Add As Long) As String
Dim sTemp As String * 512
Dim x As Long
x = lstrcpy(sTemp, Add)
If (InStr(1, sTemp, Chr(0)) = 0) Then
PtrCtoVbString = ""
Else
PtrCtoVbString = Left(sTemp, InStr(1, sTemp, Chr(0)) - 1)
End If
End Function
ขอบคุณค่ะ