Happy Codings - Programming Code Examples
Html Css Web Design Sample Codes CPlusPlus Programming Sample Codes JavaScript Programming Sample Codes C Programming Sample Codes CSharp Programming Sample Codes Java Programming Sample Codes Php Programming Sample Codes Visual Basic Programming Sample Codes


Visual Basic Programming Code Examples

Visual Basic > API and Miscellaneous Code Examples

How to retrieve a Pocket PC device's name

How to retrieve a Pocket PC device's name 'All DLLs are installed with ActiveSync Public Const HKEY_CLASSES_ROOT = &H80000000 Public Const HKEY_CURRENT_USER = &H80000001 Public Const HKEY_LOCAL_MACHINE = &H80000002 Public Const ERROR_SUCCESS = 0 Public Const REG_DWORD = 4 '32-bit number. Public Const REG_SZ = 1 Type RAPIINIT cbsize As Long heRapiInit As Long hrRapiInit As Long End Type Declare Function CeRapiUninit Lib "rapi.dll" () As Long Declare Function CeRapiInitEx Lib "rapi.dll" ( _ pRapiInit As RAPIINIT) As Long Declare Function CeRegOpenKeyEx Lib "rapi.dll" ( _ ByVal hkey As Long, _ ByVal lpSubKey As Long, _ ByVal ulOptions As Long, _ ByVal samDesired As Long, _ phkResult As Long) As Long Declare Function CeRegQueryValueEx Lib "rapi.dll" ( _ ByVal hkey As Long, _ ByVal lpValueName As Long, _ ByVal lpReserved As Long, _ lpType As Long, _ ByVal lpdata As Long, _ lpcbData As Long) As Long Declare Function CeRegQueryValueExLong Lib "rapi.dll" _ Alias "CeRegQueryValueEx" ( _ ByVal hkey As Long, _ ByVal lpValueName As Long, _ ByVal lpReserved As Long, _ lpType As Long, _ lpdata As Long, _ lpcbData As Long) As Long Declare Function CeRegQueryValueExString Lib "rapi.dll" _ Alias "CeRegQueryValueEx" ( _ ByVal hkey As Long, _ ByVal lpValueName As Long, _ ByVal lpReserved As Long, _ lpType As Long, _ ByVal lpdata As Long, _ lpcbData As Long) As Long Declare Function CeRegCloseKey Lib "rapi.dll" ( _ ByVal hkey As Long) As Long Function GetDeviceName() As String ' Read the registry on the CE device Dim lret As Long Dim phkResult As Long Dim lpType As Long Dim lpdata As String Dim lpvalue As Long Dim lpcbData As Long Dim data As String Dim key As String Dim lpdwdisposition As Long Dim value As String GetDeviceName = "" key = "Ident" lret = ConnectRAPI() lret = CeRegOpenKeyEx(HKEY_LOCAL_MACHINE, StrPtr(key), _ 0, 0, phkResult) If lret <> ERROR_SUCCESS Then Else value = "Name" lret = CeRegQueryValueEx(phkResult, StrPtr(value), _ 0, lpType, 0, lpcbData) Select Case lpType ' -- For strings Case REG_SZ: ' Allocate string space lpdata = Space(lpcbData) ' Query the string value lret = CeRegQueryValueExString(phkResult, StrPtr(value), _ CLng(0), lpType, StrPtr(lpdata), lpcbData) If lret = ERROR_SUCCESS Then GetDeviceName = Trim(Left(lpdata, lpcbData - 1)) Else GetDeviceName = "" End If If InStr(1, GetDeviceName, Chr(0)) > 0 Then GetDeviceName = Left(GetDeviceName, InStr(1, GetDeviceName, Chr(0)) - 1) End If '-- For DWORDS Case REG_DWORD: lret = CeRegQueryValueExLong(phkResult, StrPtr(value), _ CLng(0), lpType, lpvalue, lpcbData) If lret = ERROR_SUCCESS Then MsgBox lpvalue ' -- All other data types not supported Case Else lret = -1 End Select End If lret = DisconnectRAPI() End Function Function ConnectRapi() As Long ' Initialize RAPI Dim lcon As Long Dim lRapiInit As RAPIINIT With lRapiInit .cbsize = Len(lRapiInit) .heRapiInit = 0 .hrRapiInit = 0 End With lcon = CeRapiInitEx(lRapiInit) ConnectRapi = lcon End Function Function DisconnectRapi() As Long Dim lcon As Long lcon = CeRapiUninit DisconnectRapi = lcon End Function