Leo Elsenberg

Programmierung, Datenbanken, IT-Dienstleistungen und IT-Schulungen

Nachfolgend finden Sie den vollständigen, dokumentierten Quellcode des VBA Moduls modPublDecl:

Option Compare Database
Option Explicit
Public gavntLoadRC()                As Variant
Public Const gconSpace              As String * 1 = " "
Public Const gconAppAdmin           As String = "Administrator(in)"
Public Const gconUsers              As String = gconSpace & "Bearbeiter/innen" & gconSpace
Public Const gconEMailMsg           As String = "E-Mail Nachricht"
Public Const gconDBEnv              As String = "Datenbankumgebung"
Private Const conIBM                As String * 4 = "IBM" & gconSpace
Public Const gconZOS                As String * 4 = "z/OS"
Public Const gconZOSHost            As String = gconZOS & gconSpace & "Host"
Public Const gconZOSDB2Env          As String = gconZOS & gconSpace & gconDBEnv
Public Const gconDB2                As String * 3 = "DB2"
Public Const gconAppName            As String = gconDB2 & "DM"
Public Const gconAppTitle           As String = gconAppName & gconSpace & "-" & gconSpace
Public Const gconAppErr             As String = gconAppTitle & "Fehler:" & gconSpace
Public Const gconIBMDB2             As String = conIBM & gconDB2
Public Const gconIbmDb2Env          As String = gconIBMDB2 & gconSpace & gconDBEnv
Public Const gconIBMZOS             As String = conIBM & gconZOS
Public Const gconDataColls          As String = gconSpace & "Data Collections" & gconSpace
Public Const gconBackslash          As String * 1 = "\"
Private Const conSYS                As String * 3 = "SYS"
Public Const gconFileNotFound       As Integer = 53
Public Const gconPathNotFound       As Integer = 76
Public Const gconDuplicateKey       As Integer = 3022
Private Const conFrmRepAT           As String * 2 = "AT"
Private Const conFrmRepHI           As String * 2 = "HI"
Private Const conFrmRepUL           As String * 2 = "UL"
Private Const conFrm                As String = "frm" & gconAppName
Public Const gconFrmAT              As String = conFrm & conFrmRepAT
Public Const gconFrmCE              As String = conFrm & "CE"
Public Const gconFrmCF              As String = conFrm & "CF"
Public Const gconFrmCI              As String = conFrm & "CI"
Public Const gconFrmCJ              As String = conFrm & "CJ"
Public Const gconFrmCM              As String = conFrm & "CM"
Public Const gconFrmCMK             As String = conFrm & "CMK"
Public Const gconFrmCS              As String = conFrm & "CS"
Public Const gconFrmFS              As String = conFrm & "FS"
Public Const gconFrmHI              As String = conFrm & conFrmRepHI
Public Const gconFrmHM              As String = conFrm & "HM"
Public Const gconFrmKY              As String = conFrm & "KY"
Public Const gconFrmLI              As String = conFrm & "LI"
Public Const gconFrmOD              As String = conFrm & "OD"
Public Const gconFrmRJ              As String = conFrm & "RJ"
Public Const gconFrmRP              As String = conFrm & "RP"
Public Const gconFrmSE              As String = conFrm & "SE"
Public Const gconFrmSR              As String = conFrm & "SR"
Public Const gconFrmST              As String = conFrm & "ST"
Public Const gconFrmSU              As String = conFrm & "SU"
Public Const gconFrmTY              As String = conFrm & "TY"
Public Const gconFrmUG              As String = conFrm & "UG"
Public Const gconFrmUL              As String = conFrm & conFrmRepUL
Public Const gconFrmUP              As String = conFrm & "UP"
Private Const conRep                As String = "rep" & gconAppName
Public Const gconRepAD              As String = conRep & "AD"
Public Const gconRepAT              As String = conRep & conFrmRepAT
Public Const gconRepCL              As String = conRep & "CL"
Public Const gconRepDC              As String = conRep & "DC"
Public Const gconRepDL              As String = conRep & "DL"
Public Const gconRepEL              As String = conRep & "EL"
Public Const gconRepHI              As String = conRep & conFrmRepHI
Public Const gconRepLL              As String = conRep & "LL"
Public Const gconRepUL              As String = conRep & conFrmRepUL
Public Const gconlngDCIDFmt         As String = "000000"
Public Const gcondateMinsSecs       As String = "nn:ss"
Public Const gconTripleStop         As String * 3 = "..."
Public Const gconPleaseWait         As String = "Bitte warten" & gconSpace
Public Const gconDB2TablesAttribs   As String = gconIBMDB2 & gconSpace & "Tabellen und Attribute"
Public Const gconTerminateApp       As String = "Die Anwendung wird beendet!"
Public Const gconJobAborted         As String = vbCrLf & vbCrLf & _
                                                "Die Jobverarbeitung wurde abgebrochen!"
Public Const gconFrmWillClose       As String = "Das Formular wird geschlossen"
Public Const gconCloseForm          As String = "Formular schließen"
Public Const gconSelectAll          As String = "(Alle)"
Public Const gconEurDate            As String = "YYYY-MM-DD"
Public Const gconEurDateTime        As String = gconEurDate & gconSpace & "HH:MM:SS"
Public Const gconFullStop           As String * 1 = "."
Public Const gconUnderScore         As String * 1 = "_"
Private Const conJCLLineInit        As String * 2 = "//"
Public Const gconJCLCommentInit     As String * 3 = conJCLLineInit & "*"
Public Const gconPunchLead          As String = conJCLLineInit & gconSpace
Public Const gconJCLUser            As String = gconPunchLead & "USER="
Public Const gconPunchRemark        As String = conJCLLineInit & "*" & gconSpace
Private Const conDisposition        As String = "DISP="
Private Const conUnit               As String = ",UNIT=HSMP,SPACE=(TRK,"
Public Const gconDispShare          As String = conDisposition & "SHR"
Public Const gconDispNew            As String = conDisposition & "(NEW,CATLG)" & _
                                                conUnit & "(10,10),RLSE)"
Public Const gconDispDel            As String = conDisposition & "(MOD,DELETE,DELETE)" & _
                                                conUnit & "(1))"
Public Const gconDEL                As String * 3 = "DEL"
Public Const gconRC                 As String = gconFullStop & "RC"
Public Const gconDB2DEL             As String = gconDB2 & gconDEL
Public Const gconDB2DELRC           As String = gconDB2DEL & gconRC
Public Const gconDB2UNLOAD          As String = gconDB2 & "UNLD"
Public Const gconPunchDelHeader     As String = conJCLLineInit & _
                                                gconDB2DEL & "    EXEC PGM=IEFBR14"
Private Const conSysRec             As String = conSYS & "REC"
Public Const gconSysRecLead         As String = conJCLLineInit & conSysRec
Public Const gconSysRecMid          As String = gconSpace & "DD DSN="
Public Const gconSysPunchLead       As String = conJCLLineInit & conSYS & "PUNCH" & _
                                                gconSysRecMid
Public Const gconDsnuProc           As String = "DSNUPROC"
Public Const gconDsnuProcRC         As String = gconDsnuProc & gconRC
Public Const gconDsnSysRecLead      As String = conJCLLineInit & gconDsnuProc & _
                                                gconFullStop & conSysRec
Public Const gconDsnSysInLead       As String = conJCLLineInit & gconDsnuProc & _
                                                gconFullStop & conSYS & "IN    DD DSN="
Public Const gconUtil               As String = "UTIL"
Public Const gconLoadUtilRC         As String = gconUtil & gconFullStop & gconDsnuProcRC
Public Const gconDB2SQL2            As String = gconDB2 & "SQL2"
Public Const gconDB2SQL2RC          As String = gconDB2SQL2 & gconRC
Public Const gconJCLComment         As String = _
    gconJCLCommentInit & "-----------------------------------------------------------*"
Public Const gconDeleteFrom         As String = gconSpace & gconDEL & "ETE FROM" & gconSpace
Private Const conJob                As String * 3 = "JOB"
Public Const gconLoadJob            As String * 4 = "LOAD"
Public Const gconUnloadJob          As String * 6 = "UN" & gconLoadJob
Public Const gconClearJob           As String * 5 = "CLEAR"
Public Const gconDeleteJob          As String * 6 = gconDEL & "ETE"
Public Const gconDelJCLJob          As String * 6 = conJob & gconDEL
Private Const conLoadParamInit      As String = "NOCOPYPEND" & gconSpace
Public Const gconLoadReplaceParam   As String = conLoadParamInit & "REPLACE"
Public Const gconLoadAppendParam    As String = conLoadParamInit & "RESUME YES"
Public gstrLoadJobParameter         As String
Public Const gconSYSSAG             As String * 6 = conSYS & "SAG"
Private Const conSysTables          As String = conSYS & "TABLES"
Public Const gconIbmSysTable        As String = gconSYSSAG & gconFullStop & conSysTables
Public Const gconAccIBMSysTable     As String = gconSYSSAG & gconUnderScore & conSysTables
Public Const gconAccIBMSysCols      As String = gconSYSSAG & gconUnderScore & conSYS & "COLUMNS"
Public Const gconSysRecs            As String = conSYS & "RECS"
' Maximal zulässige Steuer-/Lochkarteneinträge
Public Const gconUnLoadMaxNo        As Byte = 100
' Dateitypen
Private Const conFtp                As String * 3 = "FTP"
Private Const conJCL                As String * 3 = "JCL"
Private Const conFtpFile            As String * 4 = gconFullStop & conFtp
Private Const conCmdFile            As String * 4 = gconFullStop & "CMD"
Private Const conJclFile            As String * 4 = gconFullStop & conJCL
Public Const gconIniFile            As String * 4 = gconFullStop & "INI"
Public Const gconTmpFile            As String * 4 = gconFullStop & "TMP"
' Maximal zulässige Anzahl Tabellen je JCL Script
Public Const gconMaxJCLTables       As Integer = 900
' FTP Steuerungsdateien
Public Const gconINIT               As String * 4 = "INIT"
Public Const gconOK                 As String * 2 = "OK"
Public Const gconFAIL               As String * 4 = "FAIL"
Public Const gconGET                As String * 3 = "GET"
Public Const gconPUT                As String * 3 = "PUT"
Private Const conFtpJCLJob          As String = conFtp & conJCL
Public Const gconFtpJCLJobCmd       As String = conFtpJCLJob & conCmdFile
Public Const gconFtpJCLJobParam     As String = conFtpJCLJob & conFtpFile
Public Const conFtpInit             As String = conFtp & gconINIT
Public Const gconFtpInitCmd         As String = conFtpInit & conCmdFile
Public Const gconFtpInitParam       As String = conFtpInit & conFtpFile
Public Const conFtpOk               As String = conFtp & gconOK
Public Const gconFtpOkCmd           As String = conFtpOk & conCmdFile
Public Const gconFtpOkParam         As String = conFtpOk & conFtpFile
Public Const conFtpFail             As String = conFtp & gconFAIL
Public Const gconFtpFailCmd         As String = conFtpFail & conCmdFile
Public Const gconFtpFailParam       As String = conFtpFail & conFtpFile
Private Const conFtpDel             As String = conFtp & gconDEL
Public Const gconFtpDelCmd          As String = conFtpDel & conCmdFile
Public Const gconFtpDelParam        As String = conFtpDel & conFtpFile
Private Const conFtpGet             As String = conFtp & gconGET
Public Const gconFtpGetCmd          As String = conFtpGet & conCmdFile
Public Const gconFtpGetParam        As String = conFtpGet & conFtpFile
Private Const conFtpPut             As String = conFtp & gconPUT
Public Const gconFtpPutCmd          As String = conFtpPut & conCmdFile
Public Const gconFtpPutParam        As String = conFtpPut & conFtpFile
Private Const conFtpGetRc           As String = conFtp & gconGET & "RC"
Public Const gconFtpGetRcCmd        As String = conFtpGetRc & conCmdFile
Public Const gconFtpGetRcParam      As String = conFtpGetRc & conFtpFile
Private Const conDelJCLJobName      As String = gconDelJCLJob
Private Const conFtpDelJob          As String = conFtp & conDelJCLJobName
Public Const gconFtpDelJobCmd       As String = conFtpDelJob & conCmdFile
Public Const gconFtpDelJobParam     As String = conFtpDelJob & conFtpFile
' Dateiname des JCL Files vor Anpassung der JCL Scriptvariablen
Public Const gconJCLFileGen         As String = conJCL & "Gen" & conJclFile
' Dateiname des JCL Files nach Anpassung der JCL Scriptvariablen
Public Const gconJCLFileMod         As String = conJCL & "Mod" & conJclFile
Private Const conLoadFile           As String = "LDAFILE" & gconFullStop
' Dateiname des vom Host geladenen Loadfiles
Public Const gconLoadFileGet        As String = conLoadFile & gconGET
' Dateiname des modifizierten Loadfiles
Public Const gconLoadFilePut        As String = conLoadFile & gconPUT
' Name des JCL Scripts auf dem Host
Public Const gconJCLJobName         As String = conJCL & conJclFile
' Dateiname des JCL Delete Job Output Scripts auf dem Host
Public Const gconDelJCLJobHost      As String = conDelJCLJobName & conJclFile
' Name des Delete Job Output JCL Scripts auf dem Host
Public Const gconDelJCLJobPC        As String = gconDelJCLJobHost
' Verketten Temp Verzeichnis und Dateiname
Public gstrTempDir                  As String
Public gstrJCLFileGen               As String
Public gstrJCLFileMod               As String
Public gstrLoadFileGet              As String
Public gstrLoadFileMod              As String
Public gstrDelJCLJobPC              As String
Public gstrFtpJCLJobCmd             As String
Public gstrFtpJCLJobParam           As String
Public gstrFtpOkCmd                 As String
Public gstrFtpOkParam               As String
Public gstrFtpFailCmd               As String
Public gstrFtpFailParam             As String
Public gstrFtpInitCmd               As String
Public gstrFtpInitParam             As String
Public gstrFtpDelCmd                As String
Public gstrFtpDelParam              As String
Public gstrFtpGetCmd                As String
Public gstrFtpGetParam              As String
Public gstrFtpPutCmd                As String
Public gstrFtpPutParam              As String
Public gstrFtpGetRcCmd              As String
Public gstrFtpGetRcParam            As String
Public gstrFtpDelJobCmd             As String
Public gstrFtpDelJobParam           As String
' In JCL Templates zu ersetzende Platzhalter
Private Const conNum                As String * 1 = "#"
Private Const conFullStopNumSym     As String = gconFullStop & conNum
Private Const conNumDB2             As String = conNum & gconDB2
Public Const gconDefHostID          As String = conNum & "HID" & conNum
Public Const gconDB2JobName         As String = conNumDB2 & conJob & "NAME" & conNum
Public Const gconDB2JobTyp          As String = conNumDB2 & conJob & "TYPE" & conNum
Public Const gconDB2Job             As String = conNumDB2 & conJob & conNum
Public Const gconDB2ODBC            As String = conNumDB2 & "ODBC" & conNum
Public Const gconODBCCnn            As String = conNum & "ODBCCnn" & conNum
Public Const gconDB2Qual            As String = conNumDB2 & "QUAL" & conFullStopNumSym
Public Const gconJobInit            As String = conFullStopNumSym & conJob & gconINIT & conNum
Public Const gconJobOK              As String = conFullStopNumSym & conJob & gconOK & conNum
Public Const gconJobFail            As String = conFullStopNumSym & conJob & gconFAIL & conNum
Public Const gconDelJobOutpExecCmd  As String = conNum & "EXECDELJOBOUTPUT" & conNum
Public Const gconSearchExecCmd      As String = conNum & "SEARCHEXECCMD" & conNum
' Start Step: Auswertung Return Code(s) - Laden einer Data Collection
Public Const gconRCStartStep        As Integer = 5
' Messageboxen: Standardschaltfläche(n) und -symbol(e)
Public Const gconOkExcStyle         As Integer = vbOKOnly + vbExclamation
Public Const gconOkInfStyle         As Integer = vbOKOnly + vbInformation
Public Const gconOkCritStyle        As Integer = vbOKOnly + vbCritical
Public Const gconYNQuestStyle       As Integer = vbYesNo + vbQuestion
Public Const gconYNCritStyle        As Integer = vbYesNo + vbCritical
Public Const gconYNInfStyle         As Integer = vbYesNo + vbInformation
Public Const gconYNDef2InfStyle     As Integer = gconYNInfStyle + vbDefaultButton2
Public Const gconYNDef1QuestStyle   As Integer = gconYNQuestStyle + vbDefaultButton1
Public Const gconYNDef2QuestStyle   As Integer = gconYNQuestStyle + vbDefaultButton2
Public Const gconYNCanDef1QuStyle   As Integer = vbYesNoCancel + vbQuestion + vbDefaultButton1
Public Const gconYNCanDef3QuStyle   As Integer = vbYesNoCancel + vbQuestion + vbDefaultButton3
Public Const gconYNDef2ExcStyle     As Integer = vbYesNo + vbExclamation + vbDefaultButton2
Public Const gconForeColor          As Long = 8421504
' Schnellzugriffstasten
Private Const conAlt                As String = "(Alt+"
Private Const conCtl                As String = "(Strg+"
Public Const gconCtlZ               As String = conCtl & "Z)"
Public Const gconCtlF4              As String = conCtl & "F4)"
Public Const gconAltA               As String = conAlt & "A)"
Public Const gconAltB               As String = conAlt & "B)"
Public Const gconAltE               As String = conAlt & "E)"
Public Const gconAltF               As String = conAlt & "F)"
Public Const gconAltG               As String = conAlt & "G)"
Public Const gconAltI               As String = conAlt & "I)"
Public Const gconAltL               As String = conAlt & "L)"
Public Const gconAltN               As String = conAlt & "N)"
Public Const gconAltR               As String = conAlt & "R)"
Public Const gconAltS               As String = conAlt & "S)"
Public Const gconAltT               As String = conAlt & "T)"
Public Const gconAltU               As String = conAlt & "U)"
Public Const gconAltV               As String = conAlt & "V)"
Public Const gconAltX               As String = conAlt & "X)"
Public Const gconAltY               As String = conAlt & "Y)"
Public Const gconAltZ               As String = conAlt & "Z)"
' WINAPI Sleep Standardwartezeit in Millisekunden
Public Const gconSleep              As Integer = 500
' Konstante für WinAPI Funktion SendMessage
Public Const WM_CLOSE = &H10
Public Type POINTAPI
    X                               As Long
    Y                               As Long
End Type
Public Type Rect
    Left                            As Long
    Top                             As Long
    Right                           As Long
    Bottom                          As Long
End Type
Public Type WINDOWPLACEMENT
    Length                          As Long
    Flags                           As Long
    ShowCmd                         As Long
    ptMinPosition                   As POINTAPI
    ptMaxPosition                   As POINTAPI
    rcNormalPosition                As Rect
End Type
Public Const GW_CHILD               As Integer = 5
Public Const GW_HWNDNEXT            As Integer = 2
Public Type OPENFILENAME
    lStructSize                     As Long
    hwndOwner                       As Long
    hInstance                       As Long
    lpstrFilter                     As String
    lpstrCustomFilter               As String
    nMaxCustFilter                  As Long
    nFilterIndex                    As Long
    lpstrFile                       As String
    nMaxFile                        As Long
    lpstrFileTitle                  As String
    nMaxFileTitle                   As Long
    lpstrInitialDir                 As String
    lpstrTitle                      As String
    Flags                           As Long
    nFileOffset                     As Integer
    nFileExtension                  As Integer
    lpstrDefExt                     As String
    lCustData                       As Long
    lpfnHook                        As Long
    lpTemplateName                  As Long
End Type
' Mindestauflösung des Bildschirms
Public Const gconMinScreenWidth     As Integer = 1024
Public Const gconMinScreenHeight    As Integer = 768
Public Type ParentWindowData
    lngWidth                        As Long
    lngHeight                       As Long
    lngTop                          As Long
    lngBottom                       As Long
    lngLeft                         As Long
    lngRight                        As Long
End Type
Public ParentWindow As ParentWindowData
Public Type ChildWindowData
    lngWidth                        As Long
    lngHeight                       As Long
End Type
Public ChildWindow As ChildWindowData
Type DEVMODE
    dmDeviceName                    As String * 32
    dmSpecVersion                   As Integer
    dmDriverVersion                 As Integer
    dmSize                          As Integer
    dmDriverExtra                   As Integer
    dmFields                        As Long
    dmOrientation                   As Integer
    dmPaperSize                     As Integer
    dmPaperLength                   As Integer
    dmPaperWidth                    As Integer
    dmScale                         As Integer
    dmCopies                        As Integer
    dmDefaultSource                 As Integer
    dmPrintQuality                  As Integer
    dmColor                         As Integer
    dmDuplex                        As Integer
    dmYResolution                   As Integer
    dmTTOption                      As Integer
    dmCollate                       As Integer
    dmFormName                      As String * 32
    dmUnusedPadding                 As Integer
    dmBitsPerPixel                  As Integer
    dmPelsWidth                     As Long
    dmPelsHeight                    As Long
    dmDisplayFlags                  As Long
    dmDisplayFrequency              As Long
    ' Die nachfolgenden Variablen existieren nur in Windows 95, 98 und 2000
    dmICMMethod                     As Long
    dmICMIntent                     As Long
    dmMediaType                     As Long
    dmDitherType                    As Long
    dmReserved1                     As Long
    dmReserved2                     As Long
    ' Die nachfolgenden Variablen existieren nur in Windows 2000 und höher
    dmPanningWidth                  As Long
    dmPanningHeight                 As Long
End Type
Public Const ENUM_CURRENT_SETTINGS = -1
Public Const CDS_UPDATEREGISTRY = &H1
Public Const CDS_TEST = &H2
Public Const DISP_CHANGE_SUCCESSFUL = 0
Public Const DISP_CHANGE_RESTART = 1
Public Const EWX_REBOOT = &H2
Public Type OSVERSIONINFO
    dwOSVersionInfoSize             As Long
    dwMajorVersion                  As Long
    dwMinorVersion                  As Long
    dwBuildNumber                   As Long
    dwPlatformId                    As Long
    szCSDVersion                    As String * 128
End Type
Public Const VER_PLATFORM_WIN32_WINDOWS     As Integer = 1  ' Windows 9x
Public Const VER_PLATFORM_WIN32_NT          As Integer = 2  ' Windows NT und höher
Public gstrHostID                   As String
Public gstrHostPwd                  As String
Public gstrWinUserID                As String
Public gstrSysPunch                 As String
Public gstrDB2SourceQualifier       As String       ' Qualifier: DB2 Quellumgebung
Public gstrDB2TargetQualifier       As String       ' Qualifier: DB2 Zielumgebung
Public gstrDataSet                  As String       ' Data Set/Typ
Public gstrComputerName             As String
Public gboolEnvSelected             As Boolean
Public gstrZielUmgebung             As String
Public gintNumTables                As Integer
Public gboolHostPWExpired           As Boolean
Public gboolAllUsers                As Boolean
Public gstrWorkGroup                As String
Public gboolJobTimeOut              As Boolean
Public gboolJobInitiated            As Boolean
Public gstrDeleteEnv                As String
Public gboolLoadRCFour              As Boolean
Public gboolLoadRCEight             As Boolean
Public glngNumKeys                  As Long
Public gboolJobActive               As Boolean
Public gstrJobTyp                   As String
Public Declare Sub Sleep _
               Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Public Declare Function SendMessage _
               Lib "user32.dll" _
               Alias "SendMessageA" (ByVal hWnd As Long, _
                                     ByVal Msg As Long, _
                                     wParam As Any, _
                                     lParam As Any) As Long
Public Declare Function FindWindow _
               Lib "user32.dll" _
               Alias "FindWindowA" (ByVal lpClassName As String, _
                                    ByVal lpWindowName As String) As Long
Public Declare Function GetUserName _
               Lib "advapi32.dll" _
               Alias "GetUserNameA" (ByVal lpBuffer As String, _
                                     nSize As Long) As Long
Public Declare Function GetComputerName _
               Lib "kernel32.dll" _
               Alias "GetComputerNameA" (ByVal lpBuffer As String, _
                                         nSize As Long) As Long
Public Declare Function OpenProcess _
               Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, _
                                   ByVal bInheritHandle As Long, _
                                   ByVal dwProcessId As Long) As Long
Public Declare Function WaitForSingleObject _
               Lib "kernel32.dll" (ByVal hHandle As Long, _
                                   ByVal dwMilliseconds As Long) As Long
Public Declare Function CloseHandle _
               Lib "kernel32.dll" (ByVal hObject As Long) As Long
Public Declare Function GetClassName _
               Lib "user32.dll" _
               Alias "GetClassNameA" (ByVal hWnd As Long, _
                                      ByVal lpClassName As String, _
                                      ByVal nMaxCount As Long) As Long
Public Declare Function GetWindow _
               Lib "user32.dll" (ByVal hWnd As Long, _
                                 ByVal wCmd As Long) As Long
Public Declare Function GetWindowPlacement _
               Lib "user32.dll" (ByVal hWnd As Long, _
                                 lpwndpl As WINDOWPLACEMENT) As Long
Public Declare Function SetWindowPlacement _
               Lib "user32.dll" (ByVal hWnd As Long, _
                                 lpwndpl As WINDOWPLACEMENT) As Long
Public Declare Function GetOpenFileName _
               Lib "comdlg32.dll" _
               Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Public Declare Function GetSystemMetrics _
               Lib "user32.dll" (ByVal IndIndex As Long) As Long
Public Declare Function EnumDisplaySettings _
               Lib "user32.dll" _
               Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As String, _
                                             ByVal iModeNum As Long, _
                                             lpDevMode As DEVMODE) As Long
Public Declare Function ChangeDisplaySettings _
               Lib "user32.dll" _
               Alias "ChangeDisplaySettingsA" (lpDevMode As Any, _
                                               ByVal dwFlags As Long) As Long
Public Declare Function RestartDialog _
               Lib "shell32.dll" _
               Alias "#59" (ByVal hwndOwner As Long, _
                            ByVal lpstrReason As String, _
                            ByVal uFlags As Long) As Long
Public Declare Function GetVersionEx _
               Lib "kernel32.dll" _
               Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
Public Declare Function GetTempPath _
               Lib "kernel32.dll" _
               Alias "GetTempPathA" (ByVal nBufferLength As Long, _
                                     ByVal lpBuffer As String) As Long