Attribute VB_Name = "mdlDicPrn" Option Explicit Public Const REG_SUBKEY = "Software\LEAD Technologies, Inc.\VB_DicomPrintSCU" Public Const REG_IP = "IPAddress" Public Const REG_PORT = "PortNumber" Public Const REG_CALLED = "CalledTitle" Public Const REG_CALLING = "CallingTitle" Public Const REG_GRAYSCALE = "GrayscalePM" Public Const REG_COLOR = "ColorPM" Public Const REG_PULLSTORED = "PullStoredPM" Public Const REG_ANNOTATION = "AnnotationBox" Public Const REG_OVERLAY = "OverlayBox" Public Const REG_LUT = "PresentationLUT" Public Const REG_PRINTJOB = "PrintJob" Public Const REG_PRINTERCONFIG = "PrinterConfig" Public Const REG_TIMEOUT = "Timeout" Public Enum MessageType N_CREATE_RQ N_SET_RQ N_ACTION_RQ N_DELETE_RQ N_GET_RQ N_CREATE_RSP N_SET_RSP N_ACTION_RSP N_DELETE_RSP N_GET_RSP End Enum Public Type StatusInfo Status As PrintScuStatusEnum sSOPClass As String Type As MessageType End Type Public Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type Public Const HKEY_CURRENT_USER = &H80000001 Public Const KEY_ALL_ACCESS = &H1F003F Public Const KEY_SET_VALUE = &H2 Public Const KEY_QUERY_VALUE = &H1 Public Const REG_OPTION_NON_VOLATILE = 0 Public Const ERROR_SUCCESS = 0 Private Const REG_SZ As Long = 1 Private Const REG_DWORD As Long = 4 Public Const EM_GETLINECOUNT = &HBA Public Const EM_LINESCROLL = &HB6 Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long Private Declare Function RegSetStringValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long Private Declare Function RegSetLongValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Long, ByVal cbData As Long) As Long Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As Long, lpcbData As Long) As Long Private Declare Function RegQueryStringValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long Private Declare Function RegQueryLongValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Long, lpcbData As Long) As Long Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Public Function SetStrValue(hKey As Long, sValueName As String, sValue As String) As Boolean Dim lRetVal As Long lRetVal = RegSetStringValueEx(hKey, sValueName, 0, REG_SZ, sValue, Len(sValue)) SetStrValue = (lRetVal = ERROR_SUCCESS) End Function Public Function SetLngValue(hKey As Long, sValueName As String, lValue As Long) As Boolean Dim lRetVal As Long lRetVal = RegSetLongValueEx(hKey, sValueName, 0, REG_DWORD, lValue, 4) SetLngValue = (lRetVal = ERROR_SUCCESS) End Function Public Function QueryStrValue(hKey As Long, sValueName As String, sValue As String) As Boolean QueryStrValue = False Dim lRetVal As Long Dim lSize As Long lRetVal = RegQueryValueEx(hKey, sValueName, 0, 0, 0, lSize) If lRetVal <> ERROR_SUCCESS Then Exit Function sValue = Space(lSize) lRetVal = RegQueryStringValueEx(hKey, sValueName, 0, 0, sValue, lSize) If lRetVal = ERROR_SUCCESS Then If lSize Then sValue = Left(sValue, lSize - 1) QueryStrValue = True Exit Function End If End Function Public Function QueryLngValue(hKey As Long, sValueName As String, lValue As Long) As Boolean QueryLngValue = False Dim lRetVal As Long Dim lSize As Long lRetVal = RegQueryValueEx(hKey, sValueName, 0, 0, 0, lSize) If lRetVal <> ERROR_SUCCESS Then Exit Function lRetVal = RegQueryLongValueEx(hKey, sValueName, 0, 0, lValue, lSize) If lRetVal = ERROR_SUCCESS Then QueryLngValue = True Exit Function End If End Function Public Sub UnlockSupport(LeadObject As Object) LeadObject.UnlockSupport L_SUPPORT_DOCUMENT, L_KEY_DOCUMENT LeadObject.UnlockSupport L_SUPPORT_GIFLZW, L_KEY_GIFLZW LeadObject.UnlockSupport L_SUPPORT_TIFLZW, L_KEY_TIFLZW LeadObject.UnlockSupport L_SUPPORT_OCR, L_KEY_OCR LeadObject.UnlockSupport L_SUPPORT_MEDICAL, L_KEY_MEDICAL LeadObject.UnlockSupport L_SUPPORT_VECTOR, L_KEY_VECTOR LeadObject.UnlockSupport L_SUPPORT_MEDICAL_NET, L_KEY_MEDICAL_NET LeadObject.UnlockSupport L_SUPPORT_BARCODES_1D, L_KEY_BARCODES_1D LeadObject.UnlockSupport L_SUPPORT_BARCODES_2D_READ, L_KEY_BARCODES_2D_READ LeadObject.UnlockSupport L_SUPPORT_BARCODES_2D_WRITE, L_KEY_BARCODES_2D_WRITE LeadObject.UnlockSupport L_SUPPORT_BARCODES_PDF_READ, L_KEY_BARCODES_PDF_READ LeadObject.UnlockSupport L_SUPPORT_BARCODES_PDF_WRITE, L_KEY_BARCODES_PDF_WRITE LeadObject.UnlockSupport L_SUPPORT_PDF, L_KEY_PDF LeadObject.UnlockSupport L_SUPPORT_J2K, L_KEY_J2K LeadObject.UnlockSupport L_SUPPORT_CMW, L_KEY_CMW LeadObject.UnlockSupport L_SUPPORT_DICOM, L_KEY_DICOM LeadObject.UnlockSupport L_SUPPORT_EXTGRAY, L_KEY_EXTGRAY LeadObject.UnlockSupport L_SUPPORT_BITONAL, L_KEY_BITONAL LeadObject.UnlockSupport L_SUPPORT_PDF_SAVE, L_KEY_PDF_SAVE LeadObject.UnlockSupport L_SUPPORT_OCR_PDF_OUTPUT, L_KEY_OCR_PDF_OUTPUT LeadObject.UnlockSupport L_SUPPORT_BARCODES_DATAMATRIX_READ, L_KEY_BARCODES_DATAMATRIX_READ LeadObject.UnlockSupport L_SUPPORT_BARCODES_DATAMATRIX_WRITE, L_KEY_BARCODES_DATAMATRIX_WRITE LeadObject.UnlockSupport L_SUPPORT_LTPRO, L_KEY_LTPRO End Sub Public Sub SetComboBoxSelectedItem(cboComboBox As ComboBox, sParamValue As String) cboComboBox.ListIndex = 0 If cboComboBox.Style = 2 Then ' Dropdown List Dim I As Integer For I = 0 To cboComboBox.ListCount - 1 If StrComp(cboComboBox.List(I), sParamValue, vbTextCompare) = 0 Then cboComboBox.ListIndex = I Exit Sub End If Next Else If Len(sParamValue) Then cboComboBox.Text = sParamValue Exit Sub End If End If End Sub