#Region --- Header --- #comments-start Title: Remote Administration Suite for AutoIt3 Filename: RAS.au3 Description: Remote admin tool to ease administrator's tasks. Author(s): Gary Frost (gafrost) custompcs@charter.net Scott Forehand (RagnaroktA) stforehand@gmail.com Jarvis J. Stubblefield (JSThePatriot) jjs@vortexrevolutions.com http://www.vortexrevolutions.com/ Version: 3.0 Beta Last Update: 09.20.06 Requirements: AutoIt v3.2 +, Developed/Tested on WindowsXP Professional Service Pack 2 Notes: Thanks goes to: Gary Frost for the original Idea. Scott Forehand to updating Gary Frosts old tool into this new one. Jarvis Stubblefield for changing the code from GUIGetMsg() to OnEventMode, and providing the CompInfo.au3 Library of Functions. #comments-end #EndRegion --- Header --- #Region --- Compiler Directives --- ;** This is a list of compiler directives used by CompileAU3.exe. ;** comment the lines you don't need or else it will override the default settings ; #Compiler_Prompt=y ; y=show compile menu ;** AUT2EXE settings ; #Compiler_AUT2EXE= #Compiler_Icon="F:\DSL001\DevLib\Icons\RAS\RASUI.dll_I0c1f_0409.ico" ; Filename of the Ico file to use ; #Compiler_OutFile= ; Target exe filename. ; #Compiler_OutFile_Type= ; a3x=small AitoIt3 file; exe=Standalone executable(Default) #Compiler_Compression=4 ; Compression parameter 0-4 0=Low 2=normal 4=High #Compiler_Allow_Decompile=y ; y=allow decompile ; #Compiler_PassPhrase= ; Password to use for compilation ;** Target program Resource info #Compiler_Res_Comment=Tool to aid System Administrators. #Compiler_Res_Description= #Compiler_Res_Fileversion=3.0 ; #Compiler_Res_LegalCopyright= ; Free form resource fields ... max 15 ; #Compiler_Res_Field=Email| ; Free format fieldname|fieldvalue (custompcs@charter.net) #Compiler_Res_Field=Release Date|9/20/2006 ; Free format fieldname|fieldvalue #Compiler_Res_Field=Update Date|1/3/2007 ; Free format fieldname|fieldvalue #Compiler_Res_Field=Internal Name|RAS.exe ; Free format fieldname|fieldvalue #Compiler_Res_Field=Status|Beta ; Free format fieldname|fieldvalue ; AU3CHECK settings #Compiler_Run_AU3Check=y ; Run au3check before compilation #Compiler_AU3Check_Dat= ; Override the default au3check definition ; RUN BEFORE AND AFTER definitions ; The following directives can contain: ; %in% , %out%, %icon% which will be replaced by the fullpath\filename. ; %scriptdir% same as @ScriptDir and %scriptfile% = filename without extension. #Compiler_Run_Before= ; process to run before compilation - you can have multiple records that will be processed in sequence ; #Compiler_Run_After=move "%out%" "%scriptdir%" ; process to run after compilation - you can have multiple records that will be processed in sequence #Compiler_Run_After=move "F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\RAS.exe" "F:\DSL001\DevLib\Projects\Remote Administration Suite\Compiled" ; process to run after compilation - you can have multiple records that will be processed in sequence #EndRegion --- Compiler Directives End --- #Region --- Includes --- ;----- Standard Includes ----- #include #include #include #include #include #include ;----- Non-Standard Includes ----- #include "ExcelCom.au3" #include "GuiStatusBar.au3" #include "ModernMenu.au3" #include "GuiToolbar.au3" #include "F:\DSL001\DevLib\Projects\Remote Administration Suite\Include\RASFunctions.au3" #EndRegion --- Includes --- #Region --- Globals, Variables, and Constants --- Global $G_MY_FIRSTCTRLID = 5000 Global $G_MY_LASTCTRLID = 6000 Global $G_MY_CTRLID = $G_MY_FIRSTCTRLID Global $sTitle = "Remote Administration Suite" Global $sVersion = "3.0" Global $sBuild = "Beta" Global $sRASINI = @ScriptDir & "\RAS.ini" Global $sRASUIDLL = @ScriptDir & "\RASUI.dll" Global $sHelpFile = FileGetShortName(@ScriptDir & "\RAS Help.chm") Global $sMachineName, $sIPAddress, $sDescription, $cI_CompName Global Const $Cursor_WAIT = 15 Global Const $Cursor_ARROW = 2 ; Global Const $wbemFlagReturnImmediately = 0x10 ; Global Const $wbemFlagForwardOnly = 0x20 Global Const $GUIBkColor = 0xCCCCCC ; Sets GUI background color to light gray #Region --- GUI Creation Declares --- Global $hMenuImageList, $hGUI, $hMenuFont, $nStopRefresh, $lvEven = 1 #EndRegion --- GUI Creation Declares --- #Region --- Menu Declares --- ;File Menu Global $nFileMenu, $nSpecifyMachineItem, $nOpenItem, $nSaveItem, $nSaveAsItem, $nImportAndExportMenu, $nPrintItem, $nPrintPreviewItem, $nRecentMenu, $nExitItem ;Edit Menu Global $nEditMenu, $nFindMachineItem, $nPreferencesItem, $nFavoritesItem ;View Menu Global $nViewMenu, $nToolbarsMenu, $nStatusBarItem, $nDetailsViewItem, $nIconsViewItem, $nListViewItem, $nRefreshItem, $nStopRefreshItem ;Tools Menu Global $nToolsMenu, $nMessageMenu, $nCustomMessageItem, $nPredefinedMessageMenu, $nCommandPromptMenu, $nLocalCommandPromptItem, $nRemoteCommandPromptItem, $nComputerManagementItem, _ $nRegistryEditorItem, $nRemoteControlItem, $nWakeItem, $nPingUtilityItem, $nShutdownMachineMenu, $nAdvancedShutdown, $nShutdown, $nRestart, $nSuspend, $nHibernate, $nLogOff, _ $nLockWorkstation, $nPluginsItem ;Help Menu Global $nHelpMenu, $nHelpTopicsItem, $nUpdateItem, $nAboutItem #EndRegion --- Menu Declares --- #Region --- Toolbar Declares --- Global Const $IDM_NEW = 2001 Global Const $IDM_tb_b1 = 2002 Global Const $IDM_tb_b2 = 2003 Global Const $IDM_tb_b3 = 2004 Global Const $IDM_tb_b4 = 2005 Global Const $IDM_tb_b5 = 2006 Global Const $IDM_tb_b6 = 2007 Global Const $IDM_tb_b7 = 2008 Global Const $IDM_tb_b8 = 2009 Global Const $IDM_tb_b9 = 2010 Global Const $IDM_tb_b10 = 2011 Global Const $IDM_tb_b11 = 2012 Global Const $IDM_tb_b12 = 2013 Global Const $IDM_tb_b13 = 2014 Global $cToolBar, $tbSpecifyMachine, $tbFind, $tbFavorites, $tbCommandPrompt, $tbComputerManagement, $tbRegistryEditor, $tbRemoteControl, $tbWake, $tbPingUtility, $tbPlugins, $tbRefresh, $tbStopRefresh, $tbPreferences, $tbHelpTopics #EndRegion --- Toolbar Declares --- #Region --- Main Tab Declares --- Global $cMainTab #Region --- Machine List View Tab --- Global $cListViewTab, $lvMachines ; Machines Menu Global $cmLVMachines, $cmLVMachinesRefresh, $cmLVMachinesSpecifyMachine, $cmLVMachinesRemoveMachine, $cmLVMachinesStopRefresh, $cmLVMachinesExploreMachine, $cmLVMachinesPopulate, $cmLVMachinesPopulateAll, $cmLVMachinesPopulateCustom, _ $cmLVMachinesPopulateGeneral, $cmLVMachinesPopulateNetwork, $cmLVMachinesPopulatePeripherals, $cmLVMachinesPopulateStartup, $cmLVMachinesPopulateProcesses, _ $cmLVMachinesPopulateServices, $cmLVMachinesPopulateTasks, $cmLVMachinesPopulateHardware, $cmLVMachinesPopulateSoftware, $cmLVMachinesPopulateUninstallSoftware, _ $cmLVMachinesPopulateEventLogs, $cmLVMachinesPopulateUsersAndGroups, $cmLVMachinesTools, $cmLVMachinesToolsMessage, $cmLVMachinesToolsMessageCustom, _ $cmLVMachinesToolsMessagePredefined, $cmLVCommandPromptMenu, $cmLVLocalCommandPromptItem, $cmLVRemoteCommandPromptItem, $cmLVMachinesToolsComputerManagement, $cmLVMachinesToolsRegistryEditor, $cmLVMachinesToolsRemoteControl, _ $cmLVMachinesToolsWake, $cmLVMachinesToolsPingUtility, $cmLVMachinesToolsPlugins, $cmDVMachinesShutdownMachine, $cmDVMachinesShutdownLogOff, $cmDVMachinesShutdownShutdown, _ $cmDVMachinesShutdownRestart, $cmDVMachinesShutdownSuspend, $cmDVMachinesShutdownHibernate, $cmDVMachinesShutdownLockWorkstation #EndRegion --- Machine List View Tab --- #Region --- Machine Domain View Tab --- Global $cDomainViewTab, $tvDomain, $tvDomainItem, $tvContainerItem, $tvOnlineComputerItem, $tvOfflineComputerItem ; Domains Menu Global $cmDVMachines, $cmDVMachinesRefresh, $cmDVMachinesSpecifyMachine, $cmDVMachinesRemoveMachine, $cmDVMachinesStopRefresh, $cmDVMachinesExploreMachine, $cmDVMachinesPopulate, $cmDVMachinesPopulateAll, $cmDVMachinesPopulateCustom, _ $cmDVMachinesPopulateGeneral, $cmDVMachinesPopulateNetwork, $cmDVMachinesPopulatePeripherals, $cmDVMachinesPopulateStartup, $cmDVMachinesPopulateProcesses, _ $cmDVMachinesPopulateServices, $cmDVMachinesPopulateTasks, $cmDVMachinesPopulateHardware, $cmDVMachinesPopulateSoftware, $cmDVMachinesPopulateUninstallSoftware, _ $cmDVMachinesPopulateEventLogs, $cmDVMachinesPopulateUsersAndGroups, $cmDVMachinesTools, $cmDVMachinesToolsMessage, $cmDVMachinesToolsMessageCustom, _ $cmDVMachinesToolsMessagePredefined, $cmDVCommandPromptMenu, $cmDVLocalCommandPromptItem, $cmDVRemoteCommandPromptItem, $cmDVMachinesToolsComputerManagement, $cmDVMachinesToolsRegistryEditor, $cmDVMachinesToolsRemoteControl, _ $cmDVMachinesToolsWake, $cmDVMachinesToolsPingUtility, $cmDVMachinesToolsPlugins, $cmDVMachinesShutdownMachine, $cmDVMachinesShutdownLogOff, $cmDVMachinesShutdownShutdown, _ $cmDVMachinesShutdownRestart, $cmDVMachinesShutdownSuspend, $cmDVMachinesShutdownHibernate, $cmDVMachinesShutdownLockWorkstation #EndRegion --- Machine Domain View Tab --- #EndRegion --- Main Tab Declares --- #Region --- Information Tab Declares --- Global $cInformationTab #Region --- General Tab --- Global $cGeneralTab ; System Information Global $lblGeneralManufacurerHeader, $ibGeneralManufacturer, $lblGeneralModelHeader, $ibGeneralModel, $lblGeneralSerialNumberHeader, _ $ibGeneralSerialNumber, $lblGeneralAssetTagHeader, $ibGeneralAssetTag ; Hardware Information Global $lblGeneralCPUTypeHeader, $ibGeneralCPUType, $lblGeneralCPUSpeedHeader, $ibGeneralCPUSpeed, $lblGeneralMemoryHeader, $ibGeneralMemory ; OS Information Global $lblGeneralOSNameHeader, $ibGeneralOSName, $lblGeneralOSVersionHeader, $ibGeneralOSVersion, $lblGeneralOSProductKeyHeader, $ibGeneralOSProductKey, _ $lblGeneralOfficeHeader, $ibGeneralOffice ; Network Information Global $lblGeneralIPAddressHeader, $ibGeneralIPAddress, $lblGeneralMACAddressHeader, $ibGeneralMACAddress, $lblGeneralDomainWorkgroupHeader, $ibGeneralDomainWorkgroup ; Logged In User Information Global $lvGeneralLoggedIn, $cmGeneralLoggedIn, $cmGeneralLoggedInRefresh ; Drive Information Global $lvGeneralDrives, $cmGeneralDrives, $cmGeneralDrivesRefresh, $cmGeneralDrivesExplore, $cmGeneralDrivesSMARTDiag #EndRegion --- General Tab --- #Region --- Network Tab --- Global $cNetworkTab #EndRegion --- Network Tab --- #Region --- Peripherals Tab --- Global $cPeripheralsTab ;Monitor Information Global $lvMonitors, $cmMonitors, $cmMonitorsRefresh ;Printer Information Global $lvPrinters, $cmPrinters, $cmPrintersRefresh, $cmPrintersExplore Global $lvPrintJobs, $cmPrintJobs, $cmPrintJobsRefresh, $cmPrintJobsPause, $cmPrintJobsResume, $cmPrintJobsCancel, $cmPrintJobsPurge #EndRegion --- Peripherals Tab --- #Region --- Startup Tab --- Global $cStartupTab ;Startup Information Global $lvStartupItems, $cmStartupItems, $cmStartupItemsRefresh, $cmStartupSearchGoogle, $cmStartupSearchSysinfo #EndRegion --- Startup Tab --- #Region --- Processes Tab --- Global $cProcessesTab ;Process Information Global $lvProcesses, $cmProcesses, $cmProcessesRefresh, $cmProcessesSearch, $cmProcessesSearchGoogle, $cmProcessesSearchSysinfo, $cmProcessesSearchProcessLibrary, $cmProcessesSearchWinTasksProcessLibrary, $cmProcessesStart, $cmProcessesEnd #EndRegion --- Processes Tab --- #Region --- Services Tab --- Global $cServicesTab ;Services Information Global $lvServices, $cmServices, $cmServicesRefresh, $cmServicesStop, $cmServicesStart, $cmServicesPause, $cmServicesResume, $cmServicesDelete, _ $cmServicesChangeStartMode, $cmServicesStartModeBoot, $cmServicesStartModeSystem, $cmServicesStartModeAutomatic, $cmServicesStartModeManual, _ $cmServicesStartModeDisabled #EndRegion --- Services Tab --- #Region --- Tasks Tab --- Global $cTasksTab #EndRegion --- Tasks Tab --- #Region --- Hardware Tab --- Global $cHardwareTab ; System Information Global $lblHardwareManufacurerHeader, $ibHardwareManufacturer, $lblHardwareModelHeader, $ibHardwareModel, $lblHardwareSerialNumberHeader, _ $ibHardwareSerialNumber, $lblHardwareAssetTagHeader, $ibHardwareAssetTag ; Hardware Information Global $lblHardwareCPUTypeHeader, $ibHardwareCPUType, $lblHardwareCPUSpeedHeader, $ibHardwareCPUSpeed, $lblHardwareMemoryHeader, $ibHardwareMemory ; Device Information Global $lblHardwareVCHeader, $ibHardwareVC, $lblHardwareSCHeader, $ibHardwareSC, $lblHardwareNetwork1Header, $ibHardwareNetwork1, $lblHardwareNetwork2Header, $ibHardwareNetwork2 ; Drive Information Global $lvHardwareDrives, $cmHardwareDrives, $cmHardwareDrivesRefresh, $cmHardwareDrivesExplore, $cmHardwareDrivesSMARTDiag #EndRegion --- Hardware Tab --- #Region --- Software Tab --- Global $cSoftwareTab ;Software Information Global $lvSoftware, $cmSoftware, $cmSoftwareRefresh #EndRegion --- Software Tab --- #Region --- Uninstall Software Tab --- ;Uninstall Software Tab Global $cUninstallSoftwareTab ;Uninstall Software Information Global $lvUninstallSoftware, $cmUninstallSoftware, $cmUninstallSoftwareRefresh, $cmUninstallSoftwareUninstall #EndRegion --- Uninstall Software Tab --- #Region --- Event Logs Tab --- Global $cEventLogsTab #EndRegion --- Event Logs Tab --- #Region --- Users & Groups Tab --- Global $cUsersAndGroupsTab #EndRegion --- Users & Groups Tab --- #EndRegion --- Information Tab Declares --- #Region --- Status Bar Declares --- Global $aStatusRightEdge[5], $aStatusText[5], $cStatusBar, $cProgressBar, $cHidden = 0, $iProgress #EndRegion --- Status Bar Declares --- #Region --- Specify Machine GUI Declares --- Global $hSpecifyMachineGUI, $ibSpecify, $btnSMSpecify, $btnSMClose #EndRegion --- Specify Machine GUI Declares --- #Region --- Preferences GUI Declares --- Global $hPreferencesGUI, $btnPOK, $btnPCancel, $btnPHelp, $ibIPFilter[5], $tvPreferences #Region --- General Controls --- Global $tvGeneralItem #EndRegion --- General Controls --- #Region --- User Controls --- Global $hUserDummy1, $tvUserItem, $cbxLaunchOnStartup, $cbxCheckForUpdates, $cbxSpecifyDefaultView, $cmbDefaultView, $cmbDefaultViewData, $cbxRefreshOnStart, _ $cbxRefreshFromList, $btnRefreshFromListBrowse, $cbxMinimizeToTray, $cbxShowSplashScreen, $cbxEnableAnimations, $cbxMakeActiveTransparent, _ $lblActiveOpaque, $lblActiveTransparent, $sldActiveWindowTransparency, $cbxMakeInactiveTransparent, $lblInactiveOpaque, $lblInactiveTransparent, _ $sldInactiveWindowTransparency, $grpUserCredentials, $lblUsername, $ibUsername, $lblPassword, $ibPassword, $icoSecurity, $hUserDummy2 #EndRegion --- User Controls End --- #Region --- Network Controls --- Global $hNetworkDummy1, $tvNetworkItem, $lblDomain, $radUseCurrentDomain, $radSpecifyDomain, $ibDomainInput, $lblRetrieveUsing, $cmbRetrieveUsing, _ $cmbRetrieveUsingData, $lblTimeout, $ibTimeoutInput, $lblMilliseconds, $lblRetrieveMachinesUsing, $cmbRetrieveMachinesUsing, _ $cmbRetrieveMachinesUsingData, $lblRetrieveInformationUsing, $cmbRetrieveInformationUsing, $cmbRetrieveInformationUsingData, $hNetworkDummy2 #Region --- Filters --- Global $ibNameFilter, $sNameFilter, $btnAddNameFilter, $btnRemoveNameFilter, $lvNameFilter, $lvNameFilterItem, $btnAddIPFilter, $btnRemoveIPFilter, $lvIPFilter, $sIPFilter, $cbxInclusionFilter #EndRegion --- Filters --- #EndRegion --- Network Controls --- #Region --- Remote Controls --- Global $hRemoteControlDummy1, $tvRemoteControlItem, $grpRemoteControlNote, $lblRemoteControlInstructions, $lvConfiguredClient, $cmConfiguredClient, $cmConfiguredClientRefresh, _ $cmConfiguredClientRefresh, $cmConfiguredClientEdit, $cmConfiguredClientAdd, $cmConfiguredClientRemove, $btnRemoteControlEdit, $btnRemoteControlAdd, _ $btnRemoteControlRemove, $cmConfiguredClientSetDefault, $btnClientBrowse, $hRemoteControlDummy2 #EndRegion --- Remote Controls --- #Region --- Export Controls --- Global $hExportDummy1, $tvExportItem, $hExportDummy2 #EndRegion --- Export Controls --- #Region --- Tools Controls --- Global $hToolsDummy1, $tvToolsItem, $tvMessagingItem, $lvConfiguredMessage, $cmConfiguredMessage, $cmConfiguredMessageRefresh, $cmConfiguredMessageEdit, $cmConfiguredMessageAdd, _ $cmConfiguredMessageRemove, $btnMessageEdit, $btnMessageAdd, $btnMessageRemove, $tvThirdPartyItem, $tvPluginsItem, $hToolsDummy2 #EndRegion --- Tools Controls --- #Region --- Messaging Controls --- Global $hMessagingDummy1, $hMessagingDummy2 #EndRegion --- Messaging Controls --- #Region --- Third Party Controls --- Global $hThirdPartyDummy1, $hThirdPartyDummy2 #EndRegion --- Third Party Controls --- #Region --- Plugins Controls --- Global $hPluginsDummy1, $hPluginsDummy2 #EndRegion --- Plugins Controls --- #Region --- Pathing Controls --- Global $hPathingDummy1, $tvPathingItem, $lblMachineList, $ibMachineListPath, $hPathingDummy2 #EndRegion --- Pathing Controls --- #Region --- INI Declares --- ; Data Global $VersionINI, $BuildINI ; User Global $LaunchOnStartupINI, $CheckForUpdatesOnStartINI, $SpecifyDefaultViewINI, $SpecifyDefaultViewComboINI, $RefreshMachinesOnStartINI, $RefreshMachinesFromListINI, _ $RefreshMachinesListINI, $MinimizeToTrayINI, $ShowSplashScreenOnStartINI, $EnableAnimationsINI, $MakeActiveWindowsTransparentINI, $ActiveTransparencySliderINI, _ $MakeInactiveWindowsTransparentINI, $InactiveTransparencySliderINI, $UsernameCredentialINI, $PasswordCredentialINI ; Network Global $DomainChoiceINI, $DomainINI, $PingTimeOutINI, $RetrieveMachinesUsingComboINI, $RetrieveInformationUsingComboINI ; Filters Global $NameFilterINI, $IPRangeFilterINI, $UseIPRangeInclusionINI ; Remote Control Global $ClientNameINI, $ClientExeINI, $CommandLineINI, $SetDefaultINI, $SpecifyCredentialsINI ; Export Global $ExportTypeINI, $SpecifyExportPathINI, $ExportPathINI ; Messaging Global $MessageNameINI, $MessageContentsINI ; Third Party ; Plugins #EndRegion --- INI Declares --- #EndRegion --- Preferences GUI Declares --- ;---Remote Control Client GUI Region--- Global $hRemoteControlConfigureClientGUI, $btnRCOK, $btnRCCancel, $btnRCHelp, $btnRCClientBrowse, $ibClientName, _ $ibClientExe, $ibCommandLine, $cbxMakeDefault, $cbxSpecifyCredentials ;---Find Machine GUI Region--- Global $hFindMachineGUI, $btnFMFind, $btnFMClose, $ibFind, $ckbMatchWholeWord ;---About GUI Region--- Global $hAboutGUI, $btnAOK, $hlAuthorMailTo1, $hlAuthorMailTo2, $hlAuthorMailTo3, $lblAuthorMailTo1, $lblAuthorMailTo2, $lblAuthorMailTo3 #EndRegion --- Globals, Variables, and Constants --- #Region --- Options #NoTrayIcon Opt("GUICoordMode", 1) ;1 = Absolute coordinates / 0 = Relative position to the start of the last control / 2 = Cell positionining relative to current cell Opt("GUIOnEventMode", 1) ;1 = Enable Enables OnEvent functions notifications / 0 = Disable (Default) Disables OnEvent functions notifications ; Opt('MustDeclareVars', 1) ;1 = Variables must be pre-declared / 0 = Variables don't need to be pre-declared (Default) Opt("RunErrorsFatal", 0) ;1 = Fatal set / 0 = Silent set @error Opt("GUICloseOnESC", 0) ;1 = ESC closes / 0 = ESC won't close Opt("GUIResizeMode", 1) ;0 = No resizing / <1024 Special resizing Opt("OnExitFunc","OnAutoItExit") ;"OnAutoItExit" called Opt("TrayOnEventMode",1) Opt("TrayMenuMode",1) #EndRegion --- Options #Region --- GUI Preprocessing --- _CheckRunning("751279102", $sTitle) _GUIPrep() _CreateINI() _ReadINI() TCPStartup() #EndRegion --- GUI Preprocessing --- #Region --- GUI Postprocessing --- #EndRegion --- GUI Postprocessing --- #Region --- Hotkeys ; HotKeySet("^!d", "_DecompileProgram") ; Decompile Program (Ctrl-Alt-D) ; HotKeySet("^!r", "_RebuildProgram") ; Rebuild Program (Ctrl-Alt-R) HotKeySet("^f", "_FindMachineGUI") ; Open Find GUI ; HotKeySet("{DEL}","_RemoveItem") ; HotKeySet("{Esc}", "_ExitProgram") ; Exit Program HotKeySet("{F1}","_HelpGUI") ; Open Help HotKeySet("{F2}","_SpecifyMachineGUI") ; Open Specify GUI ; HotKeySet("{F3}","") ; HotKeySet("{F4}","") HotKeySet("{F5}","_StartRefresh") HotKeySet("{F6}","_StopRefresh") HotKeySet("{F11}","_RestartProgram") ; Restart Program (Debug) #EndRegion --- Hotkeys #Region --- Splash Screen If IniRead($sRASINI, "User", "ShowSplashScreenOnStart", "True") = "True" Then SplashImageOn("", @ScriptDir & "\Bin\RASSplash.jpg" , 530, 220, -1, -1, 1) ;453, 157 Sleep(1500) SplashOff() EndIf #EndRegion --- --- Splash Screen #Region --- GUI Creation ; Create an image list for saving/drawing our menu icons $hMenuImageList = ImageList_Create(16, 16, BitOr($ILC_MASK, $ILC_COLOR32), 0, 1) $hGUI = GUICreate($sTitle, 836, 600, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_CLIPSIBLINGS), $WS_EX_ACCEPTFILES) GUISetIcon($sRASUIDLL, 98, $hGUI) GUICtrlSetResizing($hGUI, $GUI_DOCKALL) $hMenuFont = CreateMenuFont('MS Sans Serif') ; Create a usable font for using in ownerdrawn menus ; Register the messages for building and drawing ownerdrawn items GUIRegisterMsg($WM_MEASUREITEM, 'MY_WM_MEASUREITEM') ; Called by system at first for presetting the item properties GUIRegisterMsg($WM_DRAWITEM, 'MY_WM_DRAWITEM') ; Called by system to paint our items If IniRead($sRASINI, "User", "EnableAnimations", "True") = "True" Then _GUICtrlFadeWindowIn($hGUI) EndIf #EndRegion --- --- GUI Creation #Region --- Menu ;=-=-=-=-=-=-=-=-=-= ; File Menu ;=-=-=-=-=-=-=-=-=-= $nFileMenu = GUICtrlCreateMenu('&File') $nSpecifyMachineItem = _GUICtrlCreateODMenuItem('Specify &Machine', $nFileMenu, $sRASUIDLL, 53) _GUICtrlCreateODMenuItem('', $nFileMenu, '', 0) ; Separator $nOpenItem = _GUICtrlCreateODMenuItem('&Open', $nFileMenu, $sRASUIDLL, 148) $nSaveItem = _GUICtrlCreateODMenuItem('&Save', $nFileMenu, $sRASUIDLL, 72) $nSaveAsItem = _GUICtrlCreateODMenuItem('Save &As...', $nFileMenu, '', 0) _GUICtrlCreateODMenuItem('', $nFileMenu, '', 0) ; Separator $nImportAndExportMenu = _GUICtrlCreateODMenu('&Import/Export', $nFileMenu, $sRASUIDLL, 62) _GUICtrlCreateODMenuItem('', $nFileMenu, '', 0) ; Separator $nPrintItem = _GUICtrlCreateODMenuItem('&Print', $nFileMenu, $sRASUIDLL, 153) $nPrintPreviewItem = _GUICtrlCreateODMenuItem('Print Pre&view', $nFileMenu, $sRASUIDLL, 159) _GUICtrlCreateODMenuItem('', $nFileMenu, '', 0) ; Separator $nRecentMenu = _GUICtrlCreateODMenu('Recent &Files', $nFileMenu, $sRASUIDLL, 33) _GUICtrlCreateODMenuItem('', $nFileMenu, '', 0) ; Separator $nExitItem = _GUICtrlCreateODMenuItem('E&xit', $nFileMenu, $sRASUIDLL, 150) ;=-=-=-=-=-=-=-=-=-= ; Edit Menu ;=-=-=-=-=-=-=-=-=-= $nEditMenu = GUICtrlCreateMenu('&Edit') $nFindMachineItem = _GUICtrlCreateODMenuItem('&Find Machine', $nEditMenu, $sRASUIDLL, 160) _GUICtrlCreateODMenuItem('', $nEditMenu, '', 0) ; Separator $nPreferencesItem = _GUICtrlCreateODMenuItem('&Preferences', $nEditMenu, $sRASUIDLL, 129) $nFavoritesItem = _GUICtrlCreateODMenuItem('F&avorites', $nEditMenu, $sRASUIDLL, 66) ;=-=-=-=-=-=-=-=-=-= ; View Menu ;=-=-=-=-=-=-=-=-=-= $nViewMenu = GUICtrlCreateMenu('&View') $nToolbarsMenu = _GUICtrlCreateODMenu('&Toolbars', $nViewMenu, $sRASUIDLL, 19) $nStatusBarItem = _GUICtrlCreateODMenuItem('Status Bar', $nToolbarsMenu, '', 0) GUICtrlSetState($nStatusBarItem,$GUI_CHECKED) _GUICtrlCreateODMenuItem('', $nViewMenu, '', 0) ; Separator $nDetailsViewItem = _GUICtrlCreateODMenuItem('Details', $nViewMenu, '', 0) $nIconsViewItem = _GUICtrlCreateODMenuItem('Icons', $nViewMenu, '', 0) $nListViewItem = _GUICtrlCreateODMenuItem('List', $nViewMenu, '', 0) _GUICtrlCreateODMenuItem('', $nViewMenu, '', 0) ; Separator $nRefreshItem = _GUICtrlCreateODMenuItem('&Refresh', $nViewMenu, $sRASUIDLL, 157) $nStopRefreshItem = _GUICtrlCreateODMenuItem('&Stop Refresh', $nViewMenu, $sRASUIDLL, 170) ;=-=-=-=-=-=-=-=-=-= ; Tools Menu ;=-=-=-=-=-=-=-=-=-= $nToolsMenu = GUICtrlCreateMenu('&Tools') $nMessageMenu = _GUICtrlCreateODMenu('Send &Message', $nToolsMenu, $sRASUIDLL, 100) $nCustomMessageItem = _GUICtrlCreateODMenuItem('C&ustom Message', $nMessageMenu, '', 0) $nPredefinedMessageMenu = _GUICtrlCreateODMenu('&Predefined Message', $nMessageMenu, '', 0) $nCommandPromptMenu = _GUICtrlCreateODMenu('Command &Prompt', $nToolsMenu, $sRASUIDLL, 40) $nLocalCommandPromptItem = _GUICtrlCreateODMenuItem('Local Command Prompt', $nCommandPromptMenu, $sRASUIDLL, 40) $nRemoteCommandPromptItem = _GUICtrlCreateODMenuItem('Remote Command Prompt', $nCommandPromptMenu, $sRASUIDLL, 41) $nComputerManagementItem = _GUICtrlCreateODMenuItem('&Computer Management', $nToolsMenu, $sRASUIDLL, 140) $nRegistryEditorItem = _GUICtrlCreateODMenuItem('Registry &Editor', $nToolsMenu, $sRASUIDLL, 107) $nRemoteControlItem = _GUICtrlCreateODMenuItem('&Remote Control', $nToolsMenu, $sRASUIDLL, 97) $nWakeItem = _GUICtrlCreateODMenuItem('&Wake On LAN', $nToolsMenu, $sRASUIDLL, 104) $nPingUtilityItem = _GUICtrlCreateODMenuItem('Ping &Utility', $nToolsMenu, $sRASUIDLL, 192) $nShutdownMachineMenu = _GUICtrlCreateODMenu("Shutdown Machine", $nToolsMenu, $sRASUIDLL, 150) $nAdvancedShutdown = _GUICtrlCreateODMenuItem("Advanced Shutdown", $nShutdownMachineMenu, $sRASUIDLL, 179) ;179 _GUICtrlCreateODMenuItem('', $nShutdownMachineMenu, '', 0) ; Separator $nShutdown = _GUICtrlCreateODMenuItem("Shutdown", $nShutdownMachineMenu, $sRASUIDLL, 203) $nRestart = _GUICtrlCreateODMenuItem("Restart", $nShutdownMachineMenu, $sRASUIDLL, 202) $nSuspend = _GUICtrlCreateODMenuItem("Suspend", $nShutdownMachineMenu, $sRASUIDLL, 204) $nHibernate = _GUICtrlCreateODMenuItem("Hibernate", $nShutdownMachineMenu, $sRASUIDLL, 199) $nLogOff = _GUICtrlCreateODMenuItem("Log Off", $nShutdownMachineMenu, $sRASUIDLL, 201) $nLockWorkstation = _GUICtrlCreateODMenuItem("Lock Workstation", $nShutdownMachineMenu, $sRASUIDLL, 200) _GUICtrlCreateODMenuItem('', $nToolsMenu, '', 0) ; Separator $nPluginsItem = _GUICtrlCreateODMenuItem('Plu&gins', $nToolsMenu, $sRASUIDLL, 131) ;=-=-=-=-=-=-=-=-=-= ; Help Menu ;=-=-=-=-=-=-=-=-=-= $nHelpMenu = GUICtrlCreateMenu('&Help') $nHelpTopicsItem = _GUICtrlCreateODMenuItem('Help &Topics', $nHelpMenu, $sRASUIDLL, 81) _GUICtrlCreateODMenuItem('', $nHelpMenu, '', 0) ; Separator $nUpdateItem = _GUICtrlCreateODMenuItem('&Update', $nHelpMenu, $sRASUIDLL, 121) _GUICtrlCreateODMenuItem('', $nHelpMenu, '', 0) ; Separator $nAboutItem = _GUICtrlCreateODMenuItem('&About', $nHelpMenu, $sRASUIDLL, 91) #EndRegion --- Menu #Region --- Toolbar $cToolBar = _GuiCtrlToolBarCreate($hGUI, $TBSTYLE_FLAT) $tbSpecifyMachine = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b1, $sRASUIDLL, 53) GUICtrlSetTip($tbSpecifyMachine, 'Specify Machine') $tbFind = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b2, $sRASUIDLL, 160) GUICtrlSetTip($tbFind, 'Find') $tbFavorites = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b3, $sRASUIDLL, 66) GUICtrlSetTip($tbFavorites, 'Favorites') _GuiCtrlToolBarAddSeparator($cToolBar) $tbCommandPrompt = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b4, $sRASUIDLL, 40) GUICtrlSetTip($tbCommandPrompt, 'Command Prompt') $tbComputerManagement = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b5, $sRASUIDLL, 140) GUICtrlSetTip($tbComputerManagement, 'Computer Management') $tbRegistryEditor = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b6, $sRASUIDLL, 107) GUICtrlSetTip($tbRegistryEditor, 'Registry Editor') $tbRemoteControl = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b6, $sRASUIDLL, 97) GUICtrlSetTip($tbRemoteControl, 'Remote Control') $tbWake = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b7, $sRASUIDLL, 104) GUICtrlSetTip($tbWake, 'Wake On LAN') $tbPingUtility = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b8, $sRASUIDLL, 192) GUICtrlSetTip($tbPingUtility, 'Ping Utility') _GuiCtrlToolBarAddSeparator($cToolBar) $tbPlugins = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b9, $sRASUIDLL, 131) GUICtrlSetTip($tbPlugins, 'Plugins') _GuiCtrlToolBarAddSeparator($cToolBar) $tbRefresh = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b10, $sRASUIDLL, 157) GUICtrlSetTip($tbRefresh, 'Refresh') $tbStopRefresh = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b11, $sRASUIDLL, 170) GUICtrlSetTip($tbStopRefresh, 'Stop Refresh') _GuiCtrlToolBarAddSeparator($cToolBar) $tbPreferences = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b12, $sRASUIDLL, 129) GUICtrlSetTip($tbPreferences, 'Preferences') $tbHelpTopics = _GuiCtrlToolBarAddButton($cToolBar, $IDM_tb_b13, $sRASUIDLL, 81) GUICtrlSetTip($tbHelpTopics, 'Help Topics') _GuiCtrlToolBarAddSeparator($cToolBar) #EndRegion --- Toolbar #Region --- Main Tabs ;=-=-=-=-=-=-=-=-=-= ; Main Tab ;=-=-=-=-=-=-=-=-=-= $cMainTab = GUICtrlCreateTab(3, 28, 250, 530, BitOr($TCS_HOTTRACK, $TCS_TOOLTIPS )) ;=-=-=-=-=-=-=-=-=-= ; Machine List View Tab ;=-=-=-=-=-=-=-=-=-= $cListViewTab = GUICtrlCreateTabItem(' ') GUICtrlSetTip($cListViewTab, 'List View') GUICtrlSetImage($cListViewTab, $sRASUIDLL, 42) $lvMachines = GUICtrlCreateListView("Machine|IP Address|Description|ID", 6, 53, 242, 500, BitOR($LVS_SINGLESEL, $LVS_SHOWSELALWAYS)) GUICtrlSetState($lvMachines, $GUI_DROPACCEPTED) GUICtrlSendMsg($lvMachines, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvMachines, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvMachines, 0, 140) _GUICtrlListViewSetColumnWidth ($lvMachines, 1, 100) _GUICtrlListViewSetColumnWidth ($lvMachines, 2, 200) _GUICtrlListViewSetColumnWidth ($lvMachines, 3, 30) ; _GUICtrlListViewHideColumn ($lvMachines, 2) _GUICtrlListViewHideColumn ($lvMachines, 3) ; ; $lvOnlineMachineItem = GUICtrlCreateListViewItem("Online Machine|IP Address", $lvMachines) ; $lvOnlineMachineItem = GUICtrlCreateListViewItem("Online Machine|IP Address|Description1", $lvMachines) ; GUICtrlSetImage($lvOnlineMachineItem, $sRASUIDLL, 138) ; GUICtrlSetTip($lvOnlineMachineItem, 'Machine Description') ; ; $lvOfflineMachineItem = GUICtrlCreateListViewItem("Offline Machine|Offline", $lvMachines) ; $lvOfflineMachineItem = GUICtrlCreateListViewItem("Offline Machine|IP Address|Description2", $lvMachines) ; GUICtrlSetTip($lvOfflineMachineItem, 'Machine Description') ; GUICtrlSetImage($lvOfflineMachineItem, $sRASUIDLL, 169) ;=-=-=-=-=-=-=-=-=-= ; Machines List View Context Menu ;=-=-=-=-=-=-=-=-=-= $cmLVMachines = GUICtrlCreateContextMenu($lvMachines) $cmLVMachinesRefresh = _GUICtrlCreateODMenuItem('Refresh View', $cmLVMachines, $sRASUIDLL, 157) $cmLVMachinesStopRefresh = _GUICtrlCreateODMenuItem("Stop Refresh", $cmLVMachines, $sRASUIDLL, 170) ; GUICtrlSetState($cmLVMachinesStopRefresh, $GUI_DISABLE) _GUICtrlCreateODMenuItem('', $cmLVMachines, '', 0) ; Separator $cmLVMachinesSpecifyMachine = _GUICtrlCreateODMenuItem("Specify Machine", $cmLVMachines, $sRASUIDLL, 53) $cmLVMachinesRemoveMachine = _GUICtrlCreateODMenuItem("Remove Machine", $cmLVMachines, $sRASUIDLL, 184) $cmLVMachinesExploreMachine = _GUICtrlCreateODMenuItem("Explore Machine", $cmLVMachines, $sRASUIDLL, 161) _GUICtrlCreateODMenuItem('', $cmLVMachines, '', 0) ; Separator $cmLVMachinesPopulate = _GUICtrlCreateODMenu("Populate", $cmLVMachines, $sRASUIDLL, 21) $cmLVMachinesPopulateAll = _GUICtrlCreateODMenuItem("All Views", $cmLVMachinesPopulate, $sRASUIDLL, 60) _GUICtrlCreateODMenuItem('', $cmLVMachinesPopulate, '', 0) ; Separator $cmLVMachinesPopulateCustom = _GUICtrlCreateODMenuItem("Custom Views", $cmLVMachinesPopulate, $sRASUIDLL, 22) _GUICtrlCreateODMenuItem('', $cmLVMachinesPopulate, '', 0) ; Separator $cmLVMachinesPopulateGeneral = _GUICtrlCreateODMenuItem("General View", $cmLVMachinesPopulate, $sRASUIDLL, 29) $cmLVMachinesPopulateNetwork = _GUICtrlCreateODMenuItem("Network View", $cmLVMachinesPopulate, $sRASUIDLL, 122) $cmLVMachinesPopulatePeripherals = _GUICtrlCreateODMenuItem("Peripherals View", $cmLVMachinesPopulate, $sRASUIDLL, 153) $cmLVMachinesPopulateStartup = _GUICtrlCreateODMenuItem("Startup View", $cmLVMachinesPopulate, $sRASUIDLL, 110) $cmLVMachinesPopulateProcesses = _GUICtrlCreateODMenuItem("Processes View", $cmLVMachinesPopulate, $sRASUIDLL, 21) $cmLVMachinesPopulateServices = _GUICtrlCreateODMenuItem("Services View", $cmLVMachinesPopulate, $sRASUIDLL, 152) $cmLVMachinesPopulateTasks = _GUICtrlCreateODMenuItem("Tasks View", $cmLVMachinesPopulate, $sRASUIDLL, 130) _GUICtrlCreateODMenuItem('', $cmLVMachinesPopulate, '', 0) ; Separator $cmLVMachinesPopulateHardware = _GUICtrlCreateODMenuItem("Hardware View", $cmLVMachinesPopulate, $sRASUIDLL, 155) $cmLVMachinesPopulateSoftware = _GUICtrlCreateODMenuItem("Software View", $cmLVMachinesPopulate, $sRASUIDLL, 20) $cmLVMachinesPopulateUninstallSoftware = _GUICtrlCreateODMenuItem("Uninstall Software View", $cmLVMachinesPopulate, $sRASUIDLL, 101) $cmLVMachinesPopulateEventLogs = _GUICtrlCreateODMenuItem("Event Logs View", $cmLVMachinesPopulate, $sRASUIDLL, 23) $cmLVMachinesPopulateUsersAndGroups = _GUICtrlCreateODMenuItem("Users && Groups View", $cmLVMachinesPopulate, $sRASUIDLL, 177) $cmLVMachinesTools = _GUICtrlCreateODMenu("Tools", $cmLVMachines, $sRASUIDLL, 132) $cmLVMachinesToolsMessage = _GUICtrlCreateODMenu("Send Message", $cmLVMachinesTools, $sRASUIDLL, 100) $cmLVMachinesToolsMessageCustom = _GUICtrlCreateODMenuItem("Custom Message", $cmLVMachinesToolsMessage, '', 0) $cmLVMachinesToolsMessagePredefined = _GUICtrlCreateODMenu("Predefined Message", $cmLVMachinesToolsMessage, '', 0) $cmLVCommandPromptMenu = _GUICtrlCreateODMenu('Command Prompt', $cmLVMachinesTools, $sRASUIDLL, 40) $cmLVLocalCommandPromptItem = _GUICtrlCreateODMenuItem('Local Command Prompt', $cmLVCommandPromptMenu, $sRASUIDLL, 40) $cmLVRemoteCommandPromptItem = _GUICtrlCreateODMenuItem('Remote Command Prompt', $cmLVCommandPromptMenu, $sRASUIDLL, 41) $cmLVMachinesToolsComputerManagement = _GUICtrlCreateODMenuItem("Computer Management", $cmLVMachinesTools, $sRASUIDLL, 140) $cmLVMachinesToolsRegistryEditor = _GUICtrlCreateODMenuItem("Registry Editor", $cmLVMachinesTools, $sRASUIDLL, 107) $cmLVMachinesToolsRemoteControl = _GUICtrlCreateODMenuItem("Remote Control", $cmLVMachinesTools, $sRASUIDLL, 97) $cmLVMachinesToolsWake = _GUICtrlCreateODMenuItem("Wake On LAN", $cmLVMachinesTools, $sRASUIDLL, 104) $cmLVMachinesToolsPingUtility = _GUICtrlCreateODMenuItem("Ping Utility", $cmLVMachinesTools, $sRASUIDLL, 192) $cmLVMachinesShutdownMachine = _GUICtrlCreateODMenu("Shutdown Machine", $cmLVMachinesTools, $sRASUIDLL, 150) $cmLVMachinesShutdownAdvancedShutdown = _GUICtrlCreateODMenuItem("Advanced Shutdown", $cmLVMachinesShutdownMachine, $sRASUIDLL, 179) ;179 _GUICtrlCreateODMenuItem('', $cmLVMachinesShutdownMachine, '', 0) ; Separator $cmLVMachinesShutdownShutdown = _GUICtrlCreateODMenuItem("Shutdown", $cmLVMachinesShutdownMachine, $sRASUIDLL, 203) $cmLVMachinesShutdownRestart = _GUICtrlCreateODMenuItem("Restart", $cmLVMachinesShutdownMachine, $sRASUIDLL, 202) $cmLVMachinesShutdownSuspend = _GUICtrlCreateODMenuItem("Suspend", $cmLVMachinesShutdownMachine, $sRASUIDLL, 204) $cmLVMachinesShutdownHibernate = _GUICtrlCreateODMenuItem("Hibernate", $cmLVMachinesShutdownMachine, $sRASUIDLL, 199) $cmLVMachinesShutdownLogOff = _GUICtrlCreateODMenuItem("Log Off", $cmLVMachinesShutdownMachine, $sRASUIDLL, 201) $cmLVMachinesShutdownLockWorkstation = _GUICtrlCreateODMenuItem("Lock Workstation", $cmLVMachinesShutdownMachine, $sRASUIDLL, 200) _GUICtrlCreateODMenuItem('', $cmLVMachinesTools, '', 0) ; Separator $cmLVMachinesToolsPlugins = _GUICtrlCreateODMenuItem("Plugins", $cmLVMachinesTools, $sRASUIDLL, 131) ;=-=-=-=-=-=-=-=-=-= ; Machines Domain View Tab ;=-=-=-=-=-=-=-=-=-= $cDomainViewTab = GUICtrlCreateTabItem(' ') GUICtrlSetTip($cDomainViewTab, 'Domain View') GUICtrlSetImage($cDomainViewTab, $sRASUIDLL, 142) $tvDomain = GUICtrlCreateTreeView(6, 53, 242, 500, BitOr($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE);BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_TRACKSELECT, $WS_EX_CLIENTEDGE)) $tvDomainItem = GUICtrlCreateTreeViewItem($DomainINI, $tvDomain) GUICtrlSetImage($tvDomainItem, $sRASUIDLL, 122) GUICtrlSetColor($tvDomainItem, 0x0000C0) $tvContainerItem = GUICtrlCreateTreeViewItem("Container", $tvDomainItem) GUICtrlSetImage($tvContainerItem, $sRASUIDLL, 43) $tvOnlineMachineItem = GUICtrlCreateTreeViewItem("Online Machine [IP Address]", $tvContainerItem) GUICtrlSetTip($tvOnlineMachineItem, 'Machine Description') GUICtrlSetImage($tvOnlineMachineItem, $sRASUIDLL, 138) $tvOfflineMachineItem = GUICtrlCreateTreeViewItem("Offline Machine [Offline]", $tvContainerItem) GUICtrlSetTip($tvOfflineMachineItem, 'Machine Description') GUICtrlSetImage($tvOfflineMachineItem, $sRASUIDLL, 169) GUICtrlSetState($tvDomainItem, $GUI_EXPAND) GUICtrlSetState($tvContainerItem, $GUI_EXPAND) ;=-=-=-=-=-=-=-=-=-= ; Machines Domains View Context Menu ;=-=-=-=-=-=-=-=-=-= $cmDVMachines = GUICtrlCreateContextMenu($tvDomain) $cmDVMachinesRefresh = _GUICtrlCreateODMenuItem('Refresh View', $cmDVMachines, $sRASUIDLL, 157) $cmDVMachinesStopRefresh = _GUICtrlCreateODMenuItem("Stop Refresh", $cmDVMachines, $sRASUIDLL, 170) ; GUICtrlSetState($cmDVMachinesStopRefresh, $GUI_DISABLE) _GUICtrlCreateODMenuItem('', $cmDVMachines, '', 0) ; Separator $cmDVMachinesSpecifyMachine = _GUICtrlCreateODMenuItem("Spreadecify Machine", $cmDVMachines, $sRASUIDLL, 53) $cmDVMachinesRemoveMachine = _GUICtrlCreateODMenuItem("Remove Machine", $cmDVMachines, $sRASUIDLL, 184) $cmDVMachinesExploreMachine = _GUICtrlCreateODMenuItem("Explore Machine", $cmDVMachines, $sRASUIDLL, 161) _GUICtrlCreateODMenuItem('', $cmDVMachines, '', 0) ; Separator $cmDVMachinesPopulate = _GUICtrlCreateODMenu("Populate", $cmDVMachines, $sRASUIDLL, 21) $cmDVMachinesPopulateAll = _GUICtrlCreateODMenuItem("All Views", $cmDVMachinesPopulate, $sRASUIDLL, 60) _GUICtrlCreateODMenuItem('', $cmDVMachinesPopulate, '', 0) ; Separator $cmDVMachinesPopulateCustom = _GUICtrlCreateODMenuItem("Custom Views", $cmDVMachinesPopulate, $sRASUIDLL, 22) _GUICtrlCreateODMenuItem('', $cmDVMachinesPopulate, '', 0) ; Separator $cmDVMachinesPopulateGeneral = _GUICtrlCreateODMenuItem("General View", $cmDVMachinesPopulate, $sRASUIDLL, 29) $cmDVMachinesPopulateNetwork = _GUICtrlCreateODMenuItem("Network View", $cmDVMachinesPopulate, $sRASUIDLL, 122) $cmDVMachinesPopulatePeripherals = _GUICtrlCreateODMenuItem("Peripherals View", $cmDVMachinesPopulate, $sRASUIDLL, 153) $cmDVMachinesPopulateStartup = _GUICtrlCreateODMenuItem("Startup View", $cmDVMachinesPopulate, $sRASUIDLL, 110) $cmDVMachinesPopulateProcesses = _GUICtrlCreateODMenuItem("Processes View", $cmDVMachinesPopulate, $sRASUIDLL, 21) $cmDVMachinesPopulateServices = _GUICtrlCreateODMenuItem("Services View", $cmDVMachinesPopulate, $sRASUIDLL, 152) $cmDVMachinesPopulateTasks = _GUICtrlCreateODMenuItem("Tasks View", $cmDVMachinesPopulate, $sRASUIDLL, 130) _GUICtrlCreateODMenuItem('', $cmDVMachinesPopulate, '', 0) ; Separator $cmDVMachinesPopulateHardware = _GUICtrlCreateODMenuItem("Hardware View", $cmDVMachinesPopulate, $sRASUIDLL, 155) $cmDVMachinesPopulateSoftware = _GUICtrlCreateODMenuItem("Software View", $cmDVMachinesPopulate, $sRASUIDLL, 20) $cmDVMachinesPopulateUninstallSoftware = _GUICtrlCreateODMenuItem("Uninstall Software View", $cmDVMachinesPopulate, $sRASUIDLL, 101) $cmDVMachinesPopulateEventLogs = _GUICtrlCreateODMenuItem("Event Logs View", $cmDVMachinesPopulate, $sRASUIDLL, 23) $cmDVMachinesPopulateUsersAndGroups = _GUICtrlCreateODMenuItem("Users && Groups View", $cmDVMachinesPopulate, $sRASUIDLL, 177) $cmDVMachinesTools = _GUICtrlCreateODMenu("Tools", $cmDVMachines, $sRASUIDLL, 132) $cmDVMachinesToolsMessage = _GUICtrlCreateODMenu("Send Message", $cmDVMachinesTools, $sRASUIDLL, 100) $cmDVMachinesToolsMessageCustom = _GUICtrlCreateODMenuItem("Custom Message", $cmDVMachinesToolsMessage, '', 0) $cmDVMachinesToolsMessagePredefined = _GUICtrlCreateODMenu("Predefined Message", $cmDVMachinesToolsMessage, '', 0) $cmDVCommandPromptMenu = _GUICtrlCreateODMenu('Command Prompt', $cmDVMachinesTools, $sRASUIDLL, 40) $cmDVLocalCommandPromptItem = _GUICtrlCreateODMenuItem('Local Command Prompt', $cmDVCommandPromptMenu, $sRASUIDLL, 40) $cmDVRemoteCommandPromptItem = _GUICtrlCreateODMenuItem('Remote Command Prompt', $cmDVCommandPromptMenu, $sRASUIDLL, 41) $cmDVMachinesToolsComputerManagement = _GUICtrlCreateODMenuItem("Computer Management", $cmDVMachinesTools, $sRASUIDLL, 140) $cmDVMachinesToolsRegistryEditor = _GUICtrlCreateODMenuItem("Registry Editor", $cmDVMachinesTools, $sRASUIDLL, 107) $cmDVMachinesToolsRemoteControl = _GUICtrlCreateODMenuItem("Remote Control", $cmDVMachinesTools, $sRASUIDLL, 97) $cmDVMachinesToolsWake = _GUICtrlCreateODMenuItem("Wake On LAN", $cmDVMachinesTools, $sRASUIDLL, 104) $cmDVMachinesToolsPingUtility = _GUICtrlCreateODMenuItem("Ping Utility", $cmDVMachinesTools, $sRASUIDLL, 192) $cmDVMachinesShutdownMachine = _GUICtrlCreateODMenu("Shutdown Machine", $cmDVMachinesTools, $sRASUIDLL, 150) $cmDVMachinesShutdownAdvancedShutdown = _GUICtrlCreateODMenuItem("Advanced Shutdown", $cmDVMachinesShutdownMachine, $sRASUIDLL, 179) ;179 _GUICtrlCreateODMenuItem('', $cmDVMachinesShutdownMachine, '', 0) ; Separator $cmDVMachinesShutdownShutdown = _GUICtrlCreateODMenuItem("Shutdown", $cmDVMachinesShutdownMachine, $sRASUIDLL, 203) $cmDVMachinesShutdownRestart = _GUICtrlCreateODMenuItem("Restart", $cmDVMachinesShutdownMachine, $sRASUIDLL, 202) $cmDVMachinesShutdownSuspend = _GUICtrlCreateODMenuItem("Suspend", $cmDVMachinesShutdownMachine, $sRASUIDLL, 204) $cmDVMachinesShutdownHibernate = _GUICtrlCreateODMenuItem("Hibernate", $cmDVMachinesShutdownMachine, $sRASUIDLL, 199) $cmDVMachinesShutdownLogOff = _GUICtrlCreateODMenuItem("Log Off", $cmDVMachinesShutdownMachine, $sRASUIDLL, 201) $cmDVMachinesShutdownLockWorkstation = _GUICtrlCreateODMenuItem("Lock Workstation", $cmDVMachinesShutdownMachine, $sRASUIDLL, 200) _GUICtrlCreateODMenuItem('', $cmDVMachinesTools, '', 0) ; Separator $cmDVMachinesToolsPlugins = _GUICtrlCreateODMenuItem("Plugins", $cmDVMachinesTools, $sRASUIDLL, 131) ;=-=-=-=-=-=-=-=-=-= ; End Tabs ;=-=-=-=-=-=-=-=-=-= GUICtrlCreateTabitem('') #EndRegion --- Main Tabs #Region --- Information Tabs ;=-=-=-=-=-=-=-=-=-= ; Information Tabs ;=-=-=-=-=-=-=-=-=-= ; $cInformationTab = _GUICtrlCreateTabChild($hGUI, 258, 49, 577, 530, BitOr($WS_POPUP, $WS_TABSTOP), $WS_EX_MDICHILD) $cInformationTab = _GUICtrlCreateTabChild($hGUI, 258, 28, 577, 530, BitOr($WS_CHILD, $WS_TABSTOP, $TCS_MULTILINE), -1) ;=-=-=-=-=-=-=-=-=-= ; General Tab ;=-=-=-=-=-=-=-=-=-= $cGeneralTab = GUICtrlCreateTabItem('General') GUICtrlSetTip($cGeneralTab, 'General') GUICtrlSetImage($cGeneralTab, $sRASUIDLL, 29) #Region --- General Information --- GUICtrlCreateGroup ("System Information", 3, 43, 235, 160) $lblGeneralManufacurerHeader = GUICtrlCreateLabel("Manufacturer", 13, 58, 210, 20) GUICtrlSetFont($lblGeneralManufacurerHeader, 9, 800) $ibGeneralManufacturer = GUICtrlCreateInput("", 23, 73, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) $lblGeneralModelHeader = GUICtrlCreateLabel("Model", 13, 93, 210, 20) GUICtrlSetFont($lblGeneralModelHeader, 9, 800) $ibGeneralModel = GUICtrlCreateInput("", 23, 108, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) $lblGeneralSerialNumberHeader = GUICtrlCreateLabel("Serial Number", 13, 128, 210, 20) GUICtrlSetFont($lblGeneralSerialNumberHeader, 9, 800) $ibGeneralSerialNumber = GUICtrlCreateInput("", 23, 143, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) $lblGeneralAssetTagHeader = GUICtrlCreateLabel("Asset Tag", 13, 163, 210, 20) GUICtrlSetFont($lblGeneralAssetTagHeader, 9, 800) $ibGeneralAssetTag = GUICtrlCreateInput("", 23, 178, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group GUICtrlCreateGroup ("Hardware Information", 3, 203, 235, 125) $lblGeneralCPUTypeHeader = GUICtrlCreateLabel("Processor Type", 13, 218, 210, 20) GUICtrlSetFont($lblGeneralCPUTypeHeader, 9, 800) $ibGeneralCPUType = GUICtrlCreateInput("", 23, 233, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) $lblGeneralCPUSpeedHeader = GUICtrlCreateLabel("Processor Speed", 13, 253, 210, 20) GUICtrlSetFont($lblGeneralCPUSpeedHeader, 9, 800) $ibGeneralCPUSpeed = GUICtrlCreateInput("", 23, 268, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) $lblGeneralMemoryHeader = GUICtrlCreateLabel("Memory", 13, 288, 210, 20) GUICtrlSetFont($lblGeneralMemoryHeader, 9, 800) $ibGeneralMemory = GUICtrlCreateInput("", 23, 303, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group GUICtrlCreateGroup ("OS Information", 245, 43, 235, 160) $lblGeneralOSNameHeader = GUICtrlCreateLabel("Operating System", 255, 58, 210, 20) GUICtrlSetFont($lblGeneralOSNameHeader, 9, 800) $ibGeneralOSName = GUICtrlCreateInput("", 265, 73, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) $lblGeneralOSVersionHeader = GUICtrlCreateLabel("Version", 255, 93, 210, 20) GUICtrlSetFont($lblGeneralOSVersionHeader, 9, 800) $ibGeneralOSVersion = GUICtrlCreateInput("", 265, 108, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) $lblGeneralOSProductKeyHeader = GUICtrlCreateLabel("Product Key", 255, 128, 210, 20) GUICtrlSetFont($lblGeneralOSProductKeyHeader, 9, 800) $ibGeneralOSProductKey = GUICtrlCreateInput("", 265, 143, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) $lblGeneralOfficeHeader = GUICtrlCreateLabel("Office", 255, 163, 210, 20) GUICtrlSetFont($lblGeneralOfficeHeader, 9, 800) $ibGeneralOffice = GUICtrlCreateInput("", 265, 178, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group GUICtrlCreateGroup ("Network Information", 245, 203, 235, 125) $lblGeneralIPAddressHeader = GUICtrlCreateLabel("IP Address", 255, 218, 210, 20) GUICtrlSetFont($lblGeneralIPAddressHeader, 9, 800) $ibGeneralIPAddress = GUICtrlCreateInput("", 265, 233, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) $lblGeneralMACAddressHeader = GUICtrlCreateLabel("MAC Address", 255, 253, 210, 20) GUICtrlSetFont($lblGeneralMACAddressHeader, 9, 800) $ibGeneralMACAddress = GUICtrlCreateInput("", 265, 268, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) $lblGeneralDomainWorkgroupHeader = GUICtrlCreateLabel("Domain/Workgroup", 255, 288, 210, 20) GUICtrlSetFont($lblGeneralDomainWorkgroupHeader, 9, 800) $ibGeneralDomainWorkgroup = GUICtrlCreateInput("", 265, 303, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group ; Side buttons here ; GUICtrlCreateEdit ("", 495, 45, 77, 283, BitOr($ES_CENTER, $ES_MULTILINE, $ES_READONLY), BitOr($WS_EX_ACCEPTFILES, $WS_EX_CLIENTEDGE)) GUICtrlCreateEdit ("", 482, 45, 90, 283, BitOr($WS_VSCROLL, $ES_CENTER, $ES_MULTILINE), BitOr($WS_EX_ACCEPTFILES, $WS_EX_CLIENTEDGE)) ; GUICtrlCreateGroup ("", 495, 45, 77, 283, $WS_VSCROLL, BitOr($WS_EX_ACCEPTFILES, $WS_EX_CLIENTEDGE)) ; ; GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group $lvGeneralLoggedIn = GUICtrlCreateListView("Last Logon|User|Account", 3, 330, 569, 85, $LVS_SHOWSELALWAYS) GUICtrlSendMsg($lvGeneralLoggedIn, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvGeneralLoggedIn, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvGeneralLoggedIn, 0, 130) _GUICtrlListViewSetColumnWidth ($lvGeneralLoggedIn, 1, 185) _GUICtrlListViewSetColumnWidth ($lvGeneralLoggedIn, 2, 250) $cmGeneralLoggedIn = GUICtrlCreateContextMenu($lvGeneralLoggedIn) $cmGeneralLoggedInRefresh = _GUICtrlCreateODMenuItem('Refresh View', $cmGeneralLoggedIn, $sRASUIDLL, 157) $lvGeneralDrives = GUICtrlCreateListView("Name|Type|Total Size|Free Space|File System|Path", 3, 417, 569, 108, $LVS_SHOWSELALWAYS) GUICtrlSendMsg($lvGeneralDrives, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvGeneralDrives, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvGeneralDrives, 0, 40) _GUICtrlListViewSetColumnWidth ($lvGeneralDrives, 1, 90) _GUICtrlListViewSetColumnWidth ($lvGeneralDrives, 2, 70) _GUICtrlListViewSetColumnWidth ($lvGeneralDrives, 3, 70) _GUICtrlListViewSetColumnWidth ($lvGeneralDrives, 4, 70) _GUICtrlListViewSetColumnWidth ($lvGeneralDrives, 5, 225) $cmGeneralDrives = GUICtrlCreateContextMenu($lvGeneralDrives) $cmGeneralDrivesRefresh = _GUICtrlCreateODMenuItem("Refresh View", $cmGeneralDrives, $sRASUIDLL, 157) _GUICtrlCreateODMenuItem("", $cmGeneralDrives, '', 0) $cmGeneralDrivesExplore = _GUICtrlCreateODMenuItem("Explore Drive", $cmGeneralDrives, $sRASUIDLL, 161) $cmGeneralDrivesSMARTDiag = _GUICtrlCreateODMenuItem("S.M.A.R.T. Diagnostic", $cmGeneralDrives, $sRASUIDLL, 63) #EndRegion --- General Information --- ;=-=-=-=-=-=-=-=-=-= ; Network Tab ;=-=-=-=-=-=-=-=-=-= $cNetworkTab = GUICtrlCreateTabItem('Network') GUICtrlSetTip($cNetworkTab, 'Network') GUICtrlSetImage($cNetworkTab, $sRASUIDLL, 122) #Region --- Network Information --- ; $lblSystemManufacurerHeader = GUICtrlCreateLabel("Manufacturer", 13, 58, 210, 20) ; GUICtrlSetFont($lblSystemManufacurerHeader, 9, 800) ; $ibSystemManufacturer = GUICtrlCreateInput("", 23, 73, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblSystemModelHeader = GUICtrlCreateLabel("Model", 13, 93, 210, 20) ; GUICtrlSetFont($lblSystemModelHeader, 9, 800) ; $ibSystemModel = GUICtrlCreateInput("", 23, 108, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblSystemSerialNumberHeader = GUICtrlCreateLabel("Serial Number", 13, 128, 210, 20) ; GUICtrlSetFont($lblSystemSerialNumberHeader, 9, 800) ; $ibSystemSerialNumber = GUICtrlCreateInput("", 23, 143, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblSystemAssetTagHeader = GUICtrlCreateLabel("Asset Tag", 13, 163, 210, 20) ; GUICtrlSetFont($lblSystemAssetTagHeader, 9, 800) ; $ibSystemAssetTag = GUICtrlCreateInput("", 23, 178, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) #EndRegion --- Network Information --- ;=-=-=-=-=-=-=-=-=-= ; Peripherals Tab ;=-=-=-=-=-=-=-=-=-= $cPeripheralsTab = GUICtrlCreateTabItem('Peripherals') GUICtrlSetTip($cPeripheralsTab, 'Peripherals') GUICtrlSetImage($cPeripheralsTab, $sRASUIDLL, 153) #Region --- Monitor Information --- GUICtrlCreateGroup ("Monitor Information", 3, 43, 569, 142) $lvMonitors = GUICtrlCreateListView("ID|Monitor Type|Monitor Serial|Resolution", 6, 58, 563, 122, $LVS_SHOWSELALWAYS) GUICtrlSendMsg($lvMonitors, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvMonitors, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvMonitors, 0, 28) _GUICtrlListViewSetColumnWidth ($lvMonitors, 1, 220) _GUICtrlListViewSetColumnWidth ($lvMonitors, 2, 225) _GUICtrlListViewSetColumnWidth ($lvMonitors, 3, 85) $cmMonitors = GUICtrlCreateContextMenu($lvMonitors) $cmMonitorsRefresh = _GUICtrlCreateODMenuItem("Refresh View", $cmMonitors, $sRASUIDLL, 157) GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group #EndRegion --- Monitor Information End --- #Region --- Printer Information --- GUICtrlCreateGroup ("Printer Information", 3, 188, 569, 337) $lvPrinters = GUICtrlCreateListView("Printer Name|Printer Type|Printer Path", 6, 202, 563, 108, $LVS_SHOWSELALWAYS) GUICtrlSendMsg($lvPrinters, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvPrinters, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvPrinters, 0, 210) _GUICtrlListViewSetColumnWidth ($lvPrinters, 1, 137) _GUICtrlListViewSetColumnWidth ($lvPrinters, 2, 211) $cmPrinters = GUICtrlCreateContextMenu($lvPrinters) $cmPrintersRefresh = _GUICtrlCreateODMenuItem("Refresh View", $cmPrinters, $sRASUIDLL, 157) _GUICtrlCreateODMenuItem("", $cmPrinters, '', 0) $cmPrintersExplore = _GUICtrlCreateODMenuItem("Explore Printers", $cmPrinters, $sRASUIDLL, 161) $lvPrintJobs = GUICtrlCreateListView("Job Name|Printer Used|Job Owner|Job Size|Time Submitted|Time Elapsed", 6, 313, 563, 108, $LVS_SHOWSELALWAYS) GUICtrlSendMsg($lvPrintJobs, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvPrintJobs, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvPrintJobs, 0, 227) _GUICtrlListViewSetColumnWidth ($lvPrintJobs, 1, 227) _GUICtrlListViewSetColumnWidth ($lvPrintJobs, 2, 100) _GUICtrlListViewSetColumnWidth ($lvPrintJobs, 3, 100) _GUICtrlListViewSetColumnWidth ($lvPrintJobs, 4, 120) _GUICtrlListViewSetColumnWidth ($lvPrintJobs, 5, 120) $cmPrintJobs = GUICtrlCreateContextMenu($lvPrintJobs) $cmPrintJobsRefresh = _GUICtrlCreateODMenuItem("Refresh View", $cmPrintJobs, $sRASUIDLL, 157) _GUICtrlCreateODMenuItem("", $cmPrintJobs, '', 0) $cmPrintJobsPause = _GUICtrlCreateODMenuItem("Pause Job", $cmPrintJobs, $sRASUIDLL, 196) $cmPrintJobsResume = _GUICtrlCreateODMenuItem("Resume Job", $cmPrintJobs, $sRASUIDLL, 190) _GUICtrlCreateODMenuItem("", $cmPrintJobs, '', 0) $cmPrintJobsCancel = _GUICtrlCreateODMenuItem("Cancel Job", $cmPrintJobs, $sRASUIDLL, 197) _GUICtrlCreateODMenuItem("", $cmPrintJobs, '', 0) $cmPrintJobsPurge = _GUICtrlCreateODMenuItem("Purge Queue", $cmPrintJobs, $sRASUIDLL, 184) GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group #EndRegion --- Printer Information End --- ;=-=-=-=-=-=-=-=-=-= ; Startup Tab ;=-=-=-=-=-=-=-=-=-= $cStartupTab = GUICtrlCreateTabItem('Startup') GUICtrlSetTip($cStartupTab, 'Startup') GUICtrlSetImage($cStartupTab, $sRASUIDLL, 110) #Region --- Statup Information --- $lvStartupItems = GUICtrlCreateListView("Item Name|Description|User Name|Command|Location", 3, 45, 569, 480, $LVS_SHOWSELALWAYS) GUICtrlSendMsg($lvStartupItems, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvStartupItems, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvStartupItems, 0, 100) _GUICtrlListViewSetColumnWidth ($lvStartupItems, 1, 100) _GUICtrlListViewSetColumnWidth ($lvStartupItems, 2, 90) _GUICtrlListViewSetColumnWidth ($lvStartupItems, 3, 90) _GUICtrlListViewSetColumnWidth ($lvStartupItems, 4, 235) $cmStartupItems = GUICtrlCreateContextMenu($lvStartupItems) $cmStartupItemsRefresh = _GUICtrlCreateODMenuItem("Refresh View", $cmStartupItems, $sRASUIDLL, 157) _GUICtrlCreateODMenuItem("", $cmStartupItems, '', 0) $cmStartupSearch = _GUICtrlCreateODMenu("Search For Item", $cmStartupItems, $sRASUIDLL, 99) $cmStartupSearchGoogle = _GUICtrlCreateODMenuItem("Google.com", $cmStartupSearch, $sRASUIDLL, 206) $cmStartupSearchSysinfo = _GUICtrlCreateODMenuItem("Sysinfo.org", $cmStartupSearch, $sRASUIDLL, 207) #EndRegion --- Startup Information End --- ;=-=-=-=-=-=-=-=-=-= ; Processes Tab ;=-=-=-=-=-=-=-=-=-= $cProcessesTab = GUICtrlCreateTabItem('Processes') GUICtrlSetTip($cProcessesTab, 'Processes') GUICtrlSetImage($cProcessesTab, $sRASUIDLL, 21) #Region --- Process Information --- $lvProcesses = GUICtrlCreateListView("Process|User Name|Memory|PID|Path", 3, 45, 569, 480, $LVS_SHOWSELALWAYS) GUICtrlSendMsg($lvProcesses, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvProcesses, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvProcesses, 0, 100) _GUICtrlListViewSetColumnWidth ($lvProcesses, 1, 100) _GUICtrlListViewSetColumnWidth ($lvProcesses, 2, 90) _GUICtrlListViewSetColumnWidth ($lvProcesses, 3, 40) _GUICtrlListViewSetColumnWidth ($lvProcesses, 4, 235) $cmProcesses = GUICtrlCreateContextMenu($lvProcesses) $cmProcessesRefresh = _GUICtrlCreateODMenuItem("Refresh View", $cmProcesses, $sRASUIDLL, 157) _GUICtrlCreateODMenuItem("", $cmProcesses, '', 0) $cmProcessesSearch = _GUICtrlCreateODMenu("Search For Process", $cmProcesses, $sRASUIDLL, 99) $cmProcessesSearchGoogle = _GUICtrlCreateODMenuItem("Google.com", $cmProcessesSearch, $sRASUIDLL, 206) $cmProcessesSearchSysinfo = _GUICtrlCreateODMenuItem("Sysinfo.org", $cmProcessesSearch, $sRASUIDLL, 207) $cmProcessesSearchProcessLibrary = _GUICtrlCreateODMenuItem("ProcessLibrary.com", $cmProcessesSearch, $sRASUIDLL, 205) $cmProcessesSearchWinTasksProcessLibrary = _GUICtrlCreateODMenuItem("WinTasks Process Library", $cmProcessesSearch, $sRASUIDLL, 207) $cmProcessesStart = _GUICtrlCreateODMenuItem("Start Process", $cmProcesses, $sRASUIDLL, 85) $cmProcessesEnd = _GUICtrlCreateODMenuItem("End Process", $cmProcesses, $sRASUIDLL, 106) #EndRegion --- Process Information End --- ;=-=-=-=-=-=-=-=-=-= ; Services Tab ;=-=-=-=-=-=-=-=-=-= $cServicesTab = GUICtrlCreateTabItem('Services') GUICtrlSetTip($cServicesTab, 'Services') GUICtrlSetImage($cServicesTab, $sRASUIDLL, 152) #Region --- Service Information --- $lvServices = GUICtrlCreateListView("Display Name|Service Name|Description|User Name|Start Mode|State|Service Type|Path|Accept Stop|SID", 3, 45, 569, 480, $LVS_SHOWSELALWAYS) GUICtrlSendMsg($lvServices, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvServices, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvServices, 0, 140) _GUICtrlListViewSetColumnWidth ($lvServices, 1, 100) _GUICtrlListViewSetColumnWidth ($lvServices, 2, 150) _GUICtrlListViewSetColumnWidth ($lvServices, 3, 100) _GUICtrlListViewSetColumnWidth ($lvServices, 4, 65) _GUICtrlListViewSetColumnWidth ($lvServices, 5, 65) _GUICtrlListViewSetColumnWidth ($lvServices, 6, 80) _GUICtrlListViewSetColumnWidth ($lvServices, 7, 180) _GUICtrlListViewSetColumnWidth ($lvServices, 8, 70) _GUICtrlListViewSetColumnWidth ($lvServices, 9, 70) _GUICtrlListViewHideColumn ($lvServices, 8) _GUICtrlListViewHideColumn ($lvServices, 9) $cmServices = GUICtrlCreateContextMenu($lvServices) $cmServicesRefresh = _GUICtrlCreateODMenuItem("Refresh View", $cmServices, $sRASUIDLL, 157) _GUICtrlCreateODMenuItem("", $cmServices, '', 0) $cmServicesStop = _GUICtrlCreateODMenuItem("Stop Service", $cmServices, $sRASUIDLL, 197) $cmServicesStart = _GUICtrlCreateODMenuItem("Start Service", $cmServices, $sRASUIDLL, 189) _GUICtrlCreateODMenuItem("", $cmServices, '', 0) $cmServicesPause = _GUICtrlCreateODMenuItem("Pause Service", $cmServices, $sRASUIDLL, 196) $cmServicesResume = _GUICtrlCreateODMenuItem("Resume Service", $cmServices, $sRASUIDLL, 190) _GUICtrlCreateODMenuItem("", $cmServices, '', 0) $cmServicesDelete = _GUICtrlCreateODMenuItem("Delete Service", $cmServices, $sRASUIDLL, 184) _GUICtrlCreateODMenuItem("", $cmServices, '', 0) $cmServicesChangeStartMode = _GUICtrlCreateODMenu("Change Start Mode", $cmServices, $sRASUIDLL, 95) $cmServicesStartModeBoot = _GUICtrlCreateODMenuItem("Boot", $cmServicesChangeStartMode, '', 0) $cmServicesStartModeSystem = _GUICtrlCreateODMenuItem("System", $cmServicesChangeStartMode, '', 0) $cmServicesStartModeAutomatic = _GUICtrlCreateODMenuItem("Automatic", $cmServicesChangeStartMode, '', 0) $cmServicesStartModeManual = _GUICtrlCreateODMenuItem("Manual", $cmServicesChangeStartMode, '', 0) $cmServicesStartModeDisabled = _GUICtrlCreateODMenuItem("Disabled", $cmServicesChangeStartMode, '', 0) #EndRegion --- Service Information End --- ;=-=-=-=-=-=-=-=-=-= ; Tasks Tab ;=-=-=-=-=-=-=-=-=-= $cTasksTab = GUICtrlCreateTabItem('Tasks') GUICtrlSetTip($cTasksTab, 'Tasks') GUICtrlSetImage($cTasksTab, $sRASUIDLL, 130) ;=-=-=-=-=-=-=-=-=-= ; Hardware Tab ;=-=-=-=-=-=-=-=-=-= $cHardwareTab = GUICtrlCreateTabItem('Hardware') GUICtrlSetTip($cHardwareTab, 'Hardware') GUICtrlSetImage($cHardwareTab, $sRASUIDLL, 155) #Region --- Hardware Information --- ; GUICtrlCreateGroup ("Hardware Information", 3, 43, 235, 335) ; $lblHardwareManufacurerHeader = GUICtrlCreateLabel("Manufacturer", 13, 58, 210, 20) ; GUICtrlSetFont($lblHardwareManufacurerHeader, 9, 800) ; $ibHardwareManufacturer = GUICtrlCreateInput("", 23, 73, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblHardwareModelHeader = GUICtrlCreateLabel("Model", 13, 93, 210, 20) ; GUICtrlSetFont($lblHardwareModelHeader, 9, 800) ; $ibHardwareModel = GUICtrlCreateInput("", 23, 108, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblHardwareSerialNumberHeader = GUICtrlCreateLabel("Serial Number", 13, 128, 210, 20) ; GUICtrlSetFont($lblHardwareSerialNumberHeader, 9, 800) ; $ibHardwareSerialNumber = GUICtrlCreateInput("", 23, 143, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblHardwareAssetTagHeader = GUICtrlCreateLabel("Asset Tag", 13, 163, 210, 20) ; GUICtrlSetFont($lblHardwareAssetTagHeader, 9, 800) ; $ibHardwareAssetTag = GUICtrlCreateInput("", 23, 178, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblHardwareBIOSVersionHeader = GUICtrlCreateLabel("BIOS Version", 13, 198, 210, 20) ; GUICtrlSetFont($lblHardwareBIOSVersionHeader, 9, 800) ; $ibHardwareBIOSVersion = GUICtrlCreateInput("", 23, 213, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblHardwareCPUTypeHeader = GUICtrlCreateLabel("Processor Type", 13, 233, 210, 20) ; GUICtrlSetFont($lblHardwareCPUTypeHeader, 9, 800) ; $ibHardwareCPUType = GUICtrlCreateInput("", 23, 248, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblHardwareCPUSpeedHeader = GUICtrlCreateLabel("Processor Speed", 13, 268, 210, 20) ; GUICtrlSetFont($lblHardwareCPUSpeedHeader, 9, 800) ; $ibHardwareCPUSpeed = GUICtrlCreateInput("", 23, 283, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblHardwareMemoryHeader = GUICtrlCreateLabel("Memory", 13, 303, 210, 20) ; GUICtrlSetFont($lblHardwareMemoryHeader, 9, 800) ; $ibHardwareMemory = GUICtrlCreateInput("", 23, 318, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblHardwareChassisTypeHeader = GUICtrlCreateLabel("Chassis Type", 13, 338, 210, 20) ; GUICtrlSetFont($lblHardwareChassisTypeHeader, 9, 800) ; $ibHardwareChassisType = GUICtrlCreateInput("", 23, 353, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group ; ; GUICtrlCreateGroup ("Device Information", 245, 43, 235, 160) ; $lblHardwareVCHeader = GUICtrlCreateLabel("Video Card", 255, 58, 210, 20) ; GUICtrlSetFont($lblHardwareVCHeader, 9, 800) ; $ibHardwareVC = GUICtrlCreateInput("", 265, 73, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblHardwareSCHeader = GUICtrlCreateLabel("Sound Card", 255, 93, 210, 20) ; GUICtrlSetFont($lblHardwareSCHeader, 9, 800) ; $ibHardwareSC = GUICtrlCreateInput("", 265, 108, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblHardwareNetwork1Header = GUICtrlCreateLabel("Network Adapter 1", 255, 128, 210, 20) ; GUICtrlSetFont($lblHardwareNetwork1Header, 9, 800) ; $ibHardwareNetwork1 = GUICtrlCreateInput("", 265, 143, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; $lblHardwareNetwork2Header = GUICtrlCreateLabel("Network Adapter 2", 255, 163, 210, 20) ; GUICtrlSetFont($lblHardwareNetwork2Header, 9, 800) ; $ibHardwareNetwork2 = GUICtrlCreateInput("", 265, 178, 210, 20, BitOr($ES_AUTOHSCROLL, $ES_READONLY), $WS_EX_WINDOWEDGE) ; GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group ; ; $lvHardwareDrives = GUICtrlCreateListView("Name|Type|Total Size|Free Space|File System|Path", 3, 417, 569, 108, $LVS_SHOWSELALWAYS) ; GUICtrlSendMsg($lvHardwareDrives, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) ; GUICtrlSendMsg($lvHardwareDrives, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) ; _GUICtrlListViewSetColumnWidth ($lvHardwareDrives, 0, 40) ; _GUICtrlListViewSetColumnWidth ($lvHardwareDrives, 1, 90) ; _GUICtrlListViewSetColumnWidth ($lvHardwareDrives, 2, 70) ; _GUICtrlListViewSetColumnWidth ($lvHardwareDrives, 3, 70) ; _GUICtrlListViewSetColumnWidth ($lvHardwareDrives, 4, 70) ; _GUICtrlListViewSetColumnWidth ($lvHardwareDrives, 5, 225) ; ; $cmHardwareDrives = GUICtrlCreateContextMenu($lvHardwareDrives) ; $cmHardwareDrivesRefresh = _GUICtrlCreateODMenuItem("Refresh View", $cmHardwareDrives, $sRASUIDLL, 157) ; _GUICtrlCreateODMenuItem("", $cmHardwareDrives, '', 0) ; $cmHardwareDrivesExplore = _GUICtrlCreateODMenuItem("Explore Drive", $cmHardwareDrives, $sRASUIDLL, 161) ; $cmHardwareDrivesSMARTDiag = _GUICtrlCreateODMenuItem("S.M.A.R.T. Diagnostic", $cmHardwareDrives, $sRASUIDLL, 63) ; ; ; Processor Type ; ; Processor Speed ; ; Memory ; ; BIOS Version ; ; Video Card / Driver Version ; ; Sound Card ; ; Network Wired/Wireless ; ; Drives ; ; Chassis Type #EndRegion --- Hardware Information --- ;=-=-=-=-=-=-=-=-=-= ; Software Tab ;=-=-=-=-=-=-=-=-=-= $cSoftwareTab = GUICtrlCreateTabItem('Software') GUICtrlSetTip($cSoftwareTab, 'Software') GUICtrlSetImage($cSoftwareTab, $sRASUIDLL, 20) #Region --- Software Information --- $lvSoftware = GUICtrlCreateListView("Software Name|Software Version|Software Publisher", 3, 45, 569, 480, $LVS_SHOWSELALWAYS) GUICtrlSendMsg($lvSoftware, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvSoftware, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvSoftware, 0, 335) _GUICtrlListViewSetColumnWidth ($lvSoftware, 1, 100) _GUICtrlListViewSetColumnWidth ($lvSoftware, 2, 130) $cmSoftware = GUICtrlCreateContextMenu($lvSoftware) $cmSoftwareRefresh = _GUICtrlCreateODMenuItem("Refresh View", $cmSoftware, $sRASUIDLL, 157) #EndRegion --- Software Information End --- ;=-=-=-=-=-=-=-=-=-= ; Uninstall Software Tab ;=-=-=-=-=-=-=-=-=-= $cUninstallSoftwareTab = GUICtrlCreateTabItem('Uninstall Software') GUICtrlSetTip($cUninstallSoftwareTab, 'Uninstall Software') GUICtrlSetImage($cUninstallSoftwareTab, $sRASUIDLL, 101) #Region --- Uninstall Software Information --- $lvUninstallSoftware = GUICtrlCreateListView("Software Name|Software Version|Publisher|Install Date", 3, 45, 569, 480, $LVS_SHOWSELALWAYS) GUICtrlSendMsg($lvUninstallSoftware, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvUninstallSoftware, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvUninstallSoftware, 0, 380) _GUICtrlListViewSetColumnWidth ($lvUninstallSoftware, 1, 100) _GUICtrlListViewSetColumnWidth ($lvUninstallSoftware, 2, 120) _GUICtrlListViewSetColumnWidth ($lvUninstallSoftware, 3, 120) $cmUninstallSoftware = GUICtrlCreateContextMenu($lvUninstallSoftware) $cmUninstallSoftwareRefresh = _GUICtrlCreateODMenuItem("Refresh View", $cmUninstallSoftware, $sRASUIDLL, 157) _GUICtrlCreateODMenuItem("", $cmUninstallSoftware, '', 0) $cmUninstallSoftwareUninstall = _GUICtrlCreateODMenuItem("Uninstall Software", $cmUninstallSoftware, $sRASUIDLL, 101) #EndRegion --- Uninstall Software Information End --- ;=-=-=-=-=-=-=-=-=-= ; Event Logs Tab ;=-=-=-=-=-=-=-=-=-= $cEventLogsTab = GUICtrlCreateTabItem('Event Logs') GUICtrlSetTip($cEventLogsTab, 'Event Logs') GUICtrlSetImage($cEventLogsTab, $sRASUIDLL, 23) #Region --- Event Logs Information --- #EndRegion --- Event Logs Information End --- ;=-=-=-=-=-=-=-=-=-= ; Users & Groups Tab ;=-=-=-=-=-=-=-=-=-= $cUsersAndGroupsTab = GUICtrlCreateTabItem('Users && Groups') GUICtrlSetTip($cUsersAndGroupsTab, 'Users & Groups') GUICtrlSetImage($cUsersAndGroupsTab, $sRASUIDLL, 177) ;=-=-=-=-=-=-=-=-=-= ; End Tabs ;=-=-=-=-=-=-=-=-=-= GUICtrlCreateTabitem('') #EndRegion --- Information Tabs #Region --- Status Bar Dim $aStatusRightEdge[6] = [395, 606, 741, 771, 801, 836] ; [345, 395, 30, 30, 35] Dim $aStatusText[6] = ["", "", "", "", "", ""] $cStatusBar = _GUICtrlStatusBarCreate($hGUI, $aStatusRightEdge, $aStatusText, $SS_SUNKEN) _GUICtrlStatusBarSetIcon($cStatusBar, 0, $sRASUIDLL, 61) _GUICtrlStatusBarSetIcon($cStatusBar, 1, $sRASUIDLL, 83) $cProgressBar = _GUICtrlStatusBarCreateMarqueeProgress($cStatusBar, 2) ; _GUICtrlStatusBarCreateProgress($cStatusBar, 2) #EndRegion --- Status Bar #Region --- Set Events ;System Events Handled by _SysEventHandler() GUISetOnEvent($GUI_EVENT_CLOSE, "_SysEventHandler", $hGUI) GUISetOnEvent($GUI_EVENT_MINIMIZE, "_SysEventHandler", $hGUI) GUISetOnEvent($GUI_EVENT_RESTORE, "_SysEventHandler", $hGUI) GUISetOnEvent($GUI_EVENT_MAXIMIZE, "_SysEventHandler", $hGUI) GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_SysEventHandler", $hGUI) GUISetOnEvent($GUI_EVENT_PRIMARYUP, "_SysEventHandler", $hGUI) GUISetOnEvent($GUI_EVENT_SECONDARYDOWN, "_SysEventHandler", $hGUI) GUISetOnEvent($GUI_EVENT_SECONDARYUP, "_SysEventHandler", $hGUI) GUISetOnEvent($GUI_EVENT_MOUSEMOVE, "_SysEventHandler", $hGUI) GUISetOnEvent($GUI_EVENT_RESIZED, "_SysEventHandler", $hGUI) GUISetOnEvent($GUI_EVENT_DROPPED, "_SysEventHandler", $hGUI) ; GUI Events Handled by _GUIEventHandler() ; File Menu GUICtrlSetOnEvent($nSpecifyMachineItem, "_GUIEventHandler") GUICtrlSetOnEvent($nOpenItem, "_GUIEventHandler") GUICtrlSetOnEvent($nSaveItem, "_GUIEventHandler") GUICtrlSetOnEvent($nSaveAsItem, "_GUIEventHandler") ; $nImportAndExportMenu GUICtrlSetOnEvent($nPrintItem, "_GUIEventHandler") GUICtrlSetOnEvent($nPrintPreviewItem, "_GUIEventHandler") ; $nRecentMenu GUICtrlSetOnEvent($nExitItem, "_GUIEventHandler") ; Edit Menu GUICtrlSetOnEvent($nFindMachineItem, "_GUIEventHandler") GUICtrlSetOnEvent($nPreferencesItem, "_GUIEventHandler") GUICtrlSetOnEvent($nFavoritesItem, "_GUIEventHandler") ; View Menu GUICtrlSetOnEvent($nStatusBarItem, "_GUIEventHandler") GUICtrlSetOnEvent($nDetailsViewItem, "_GUIEventHandler") GUICtrlSetOnEvent($nIconsViewItem, "_GUIEventHandler") GUICtrlSetOnEvent($nListViewItem, "_GUIEventHandler") GUICtrlSetOnEvent($nRefreshItem, "_GUIEventHandler") GUICtrlSetOnEvent($nStopRefreshItem, "_GUIEventHandler") ; Tools Menu GUICtrlSetOnEvent($nCustomMessageItem, "_GUIEventHandler") ; $nPredefinedMessageMenu GUICtrlSetOnEvent($nLocalCommandPromptItem, "_GUIEventHandler") GUICtrlSetOnEvent($nRemoteCommandPromptItem, "_GUIEventHandler") GUICtrlSetOnEvent($nComputerManagementItem, "_GUIEventHandler") GUICtrlSetOnEvent($nRegistryEditorItem, "_GUIEventHandler") GUICtrlSetOnEvent($nRemoteControlItem, "_GUIEventHandler") GUICtrlSetOnEvent($nWakeItem, "_GUIEventHandler") GUICtrlSetOnEvent($nPingUtilityItem, "_GUIEventHandler") GUICtrlSetOnEvent($nPluginsItem, "_GUIEventHandler") ; Help Menu GUICtrlSetOnEvent($nHelpTopicsItem, "_GUIEventHandler") GUICtrlSetOnEvent($nUpdateItem, "_GUIEventHandler") GUICtrlSetOnEvent($nAboutItem, "_GUIEventHandler") ; Toolbar GUICtrlSetOnEvent($tbSpecifyMachine, "_GUIEventHandler") GUICtrlSetOnEvent($tbFind, "_GUIEventHandler") GUICtrlSetOnEvent($tbFavorites, "_GUIEventHandler") GUICtrlSetOnEvent($tbCommandPrompt, "_GUIEventHandler") GUICtrlSetOnEvent($tbComputerManagement, "_GUIEventHandler") GUICtrlSetOnEvent($tbRegistryEditor, "_GUIEventHandler") GUICtrlSetOnEvent($tbRemoteControl, "_GUIEventHandler") GUICtrlSetOnEvent($tbWake, "_GUIEventHandler") GUICtrlSetOnEvent($tbPingUtility, "_GUIEventHandler") GUICtrlSetOnEvent($tbPlugins, "_GUIEventHandler") GUICtrlSetOnEvent($tbRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($tbStopRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($tbPreferences, "_GUIEventHandler") GUICtrlSetOnEvent($tbHelpTopics, "_GUIEventHandler") ; List Views GUICtrlSetOnEvent($lvMachines, "_GUIEventHandler") GUICtrlSetOnEvent($lvGeneralLoggedIn, "_GUIEventHandler") GUICtrlSetOnEvent($lvGeneralDrives, "_GUIEventHandler") GUICtrlSetOnEvent($lvMonitors, "_GUIEventHandler") GUICtrlSetOnEvent($lvPrinters, "_GUIEventHandler") GUICtrlSetOnEvent($lvPrintJobs, "_GUIEventHandler") GUICtrlSetOnEvent($lvProcesses, "_GUIEventHandler") GUICtrlSetOnEvent($lvServices, "_GUIEventHandler") GUICtrlSetOnEvent($lvHardwareDrives, "_GUIEventHandler") GUICtrlSetOnEvent($lvSoftware, "_GUIEventHandler") GUICtrlSetOnEvent($lvUninstallSoftware, "_GUIEventHandler") GUICtrlSetOnEvent($lvNameFilter, "_GUIEventHandler") GUICtrlSetOnEvent($lvIPFilter, "_GUIEventHandler") GUICtrlSetOnEvent($lvConfiguredClient, "_GUIEventHandler") GUICtrlSetOnEvent($lvConfiguredMessage, "_GUIEventHandler") ; Machine List View Context Menu ; $cmLVMachines GUICtrlSetOnEvent($cmLVMachinesRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesStopRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesSpecifyMachine, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesRemoveMachine, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesExploreMachine, "_GUIEventHandler") ; $cmLVMachinesPopulate GUICtrlSetOnEvent($cmLVMachinesPopulateAll, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulateCustom, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulateGeneral, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulateNetwork, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulatePeripherals, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulateStartup, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulateProcesses, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulateServices, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulateTasks, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulateHardware, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulateSoftware, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulateUninstallSoftware, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulateEventLogs, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesPopulateUsersAndGroups, "_GUIEventHandler") ; $cmLVMachinesTools ; $cmLVMachinesToolsMessage GUICtrlSetOnEvent($cmLVMachinesToolsMessageCustom, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesToolsMessagePredefined, "_GUIEventHandler") ; $cmLVCommandPromptMenu GUICtrlSetOnEvent($cmLVLocalCommandPromptItem, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVRemoteCommandPromptItem, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesToolsComputerManagement, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesToolsRegistryEditor, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesToolsRemoteControl, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesToolsWake, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesToolsPingUtility, "_GUIEventHandler") ; $cmLVMachinesShutdownMachine GUICtrlSetOnEvent($cmLVMachinesShutdownAdvancedShutdown, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesShutdownShutdown, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesShutdownRestart, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesShutdownSuspend, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesShutdownHibernate, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesShutdownLogOff, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesShutdownLockWorkstation, "_GUIEventHandler") GUICtrlSetOnEvent($cmLVMachinesToolsPlugins, "_GUIEventHandler") ; Machine Domain View Context Menu ; $cmDVMachines GUICtrlSetOnEvent($cmDVMachinesRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesStopRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesSpecifyMachine, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesRemoveMachine, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesExploreMachine, "_GUIEventHandler") ; $cmDVMachinesPopulate GUICtrlSetOnEvent($cmDVMachinesPopulateAll, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulateCustom, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulateGeneral, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulateNetwork, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulatePeripherals, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulateStartup, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulateProcesses, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulateServices, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulateTasks, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulateHardware, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulateSoftware, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulateUninstallSoftware, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulateEventLogs, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesPopulateUsersAndGroups, "_GUIEventHandler") ; $cmDVMachinesTools ; $cmDVMachinesToolsMessage GUICtrlSetOnEvent($cmDVMachinesToolsMessageCustom, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesToolsMessagePredefined, "_GUIEventHandler") ; $cmDVCommandPromptMenu GUICtrlSetOnEvent($cmDVLocalCommandPromptItem, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVRemoteCommandPromptItem, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesToolsComputerManagement, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesToolsRegistryEditor, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesToolsRemoteControl, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesToolsWake, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesToolsPingUtility, "_GUIEventHandler") ; $cmDVMachinesShutdownMachine GUICtrlSetOnEvent($cmDVMachinesShutdownAdvancedShutdown, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesShutdownShutdown, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesShutdownRestart, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesShutdownSuspend, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesShutdownHibernate, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesShutdownLogOff, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesShutdownLockWorkstation, "_GUIEventHandler") GUICtrlSetOnEvent($cmDVMachinesToolsPlugins, "_GUIEventHandler") GUICtrlSetOnEvent($cmGeneralLoggedInRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmGeneralDrivesRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmGeneralDrivesExplore, "_GUIEventHandler") GUICtrlSetOnEvent($cmGeneralDrivesSMARTDiag, "_GUIEventHandler") GUICtrlSetOnEvent($cmMonitorsRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmPrintersRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmPrintersExplore, "_GUIEventHandler") GUICtrlSetOnEvent($cmPrintJobsRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmPrintJobsPause, "_GUIEventHandler") GUICtrlSetOnEvent($cmPrintJobsResume, "_GUIEventHandler") GUICtrlSetOnEvent($cmPrintJobsCancel, "_GUIEventHandler") GUICtrlSetOnEvent($cmPrintJobsPurge, "_GUIEventHandler") GUICtrlSetOnEvent($cmStartupItemsRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmStartupSearchGoogle, "_GUIEventHandler") GUICtrlSetOnEvent($cmStartupSearchSysinfo, "_GUIEventHandler") GUICtrlSetOnEvent($cmProcessesRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmProcessesSearchGoogle, "_GUIEventHandler") GUICtrlSetOnEvent($cmProcessesSearchSysinfo, "_GUIEventHandler") GUICtrlSetOnEvent($cmProcessesSearchProcessLibrary, "_GUIEventHandler") GUICtrlSetOnEvent($cmProcessesSearchWinTasksProcessLibrary, "_GUIEventHandler") GUICtrlSetOnEvent($cmProcessesStart, "_GUIEventHandler") GUICtrlSetOnEvent($cmProcessesEnd, "_GUIEventHandler") GUICtrlSetOnEvent($cmServicesRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmServicesStop, "_GUIEventHandler") GUICtrlSetOnEvent($cmServicesStart, "_GUIEventHandler") GUICtrlSetOnEvent($cmServicesPause, "_GUIEventHandler") GUICtrlSetOnEvent($cmServicesResume, "_GUIEventHandler") GUICtrlSetOnEvent($cmServicesDelete, "_GUIEventHandler") GUICtrlSetOnEvent($cmServicesStartModeBoot, "_GUIEventHandler") GUICtrlSetOnEvent($cmServicesStartModeSystem, "_GUIEventHandler") GUICtrlSetOnEvent($cmServicesStartModeAutomatic, "_GUIEventHandler") GUICtrlSetOnEvent($cmServicesStartModeManual, "_GUIEventHandler") GUICtrlSetOnEvent($cmServicesStartModeDisabled, "_GUIEventHandler") GUICtrlSetOnEvent($cmHardwareDrivesRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmHardwareDrivesExplore, "_GUIEventHandler") GUICtrlSetOnEvent($cmHardwareDrivesSMARTDiag, "_GUIEventHandler") GUICtrlSetOnEvent($cmSoftwareRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmUninstallSoftwareRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmUninstallSoftwareUninstall, "_GUIEventHandler") #EndRegion --- Set Events #Region --- Show GUI GUISetState(@SW_SHOW, $cInformationTab[0]) GUISetState(@SW_SHOW, $hGUI) _LoadPreferences() While 1 Sleep(10) _GuiCtrlStatusBarSetKeyboardStatus() _MonitorViews($lvMachines) ; _MonitorInputBox($hPreferencesGUI, $ibNameFilter, $btnAddNameFilter) WEnd #EndRegion --- Show GUI #Region --- Process Events Func _GUIEventHandler() Switch @GUI_CtrlId Case $nExitItem _TerminateApp() #Region --- Main GUI --- #Region --- File Menu (Select Case) --- Case $nSpecifyMachineItem _SpecifyMachineGUI() Case $nOpenItem $sFile = FileOpenDialog("Open", "", "All Files (*.*)") If $sFile <> '' Then $sIconFile = '' $nIconID = 0 ;GetFileIconInfos($sFile, $sIconFile, $nIconID) _GUICtrlCreateODMenuItem($sFile, $nRecentMenu, $sIconFile, $nIconID) EndIf Case $nSaveAsItem $sFile = FileSaveDialog("Save As...", "", "All Files (*.*)") If $sFile <> '' Then $sIconFile = '' $nIconID = 0 ;GetFileIconInfos($sFile, $sIconFile, $nIconID) _GUICtrlCreateODMenuItem($sFile, $nRecentMenu, $sIconFile, $nIconID) EndIf #EndRegion --- File Menu (Select Case) --- #Region --- Edit Menu (Select Case) --- Case $nFindMachineItem _FindMachineGUI() Case $nPreferencesItem _PreferencesGUI() #EndRegion --- Edit Menu (Select Case) --- #Region --- View Menu (Select Case) --- Case $nStatusBarItem If $cHidden Then _GuiCtrlStatusBarShowHide($cStatusBar, @SW_SHOW) GUICtrlSetState($nStatusBarItem, $GUI_CHECKED) Else _GuiCtrlStatusBarShowHide($cStatusBar, @SW_HIDE) GUICtrlSetState($nStatusBarItem, $GUI_UNCHECKED) EndIf $cHidden = Not $cHidden Case $nRefreshItem _StartRefresh() #EndRegion --- View Menu (Select Case) --- #Region --- Tools Menu (Select Case) --- Case $nLocalCommandPromptItem _LocalCommandPrompt() Case $nRemoteCommandPromptItem _RemoteCommandPrompt() Case $nComputerManagementItem _ComputerManagement() Case $nRegistryEditorItem _RegistryEditor() #EndRegion --- Tools Menu (Select Case) --- #Region --- Help Menu (Select Case) --- Case $nHelpTopicsItem _HelpGUI() Case $nAboutItem _AboutGUI() #EndRegion --- Help Menu (Select Case) --- #Region --- List Views (Select Case) --- Case $lvMachines Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvMachines)] _GUICtrlListViewSort($lvMachines, $B_DESCENDING, GUICtrlGetState($lvMachines)) Case $lvGeneralLoggedIn Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvGeneralLoggedIn)] _GUICtrlListViewSort($lvGeneralLoggedIn, $B_DESCENDING, GUICtrlGetState($lvGeneralLoggedIn)) Case $lvGeneralDrives Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvGeneralDrives)] _GUICtrlListViewSort($lvGeneralDrives, $B_DESCENDING, GUICtrlGetState($lvGeneralDrives)) Case $lvMonitors Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvMonitors)] _GUICtrlListViewSort($lvMonitors, $B_DESCENDING, GUICtrlGetState($lvMonitors)) Case $lvPrinters Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvPrinters)] _GUICtrlListViewSort($lvPrinters, $B_DESCENDING, GUICtrlGetState($lvPrinters)) Case $lvPrintJobs Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvPrintJobs)] _GUICtrlListViewSort($lvPrintJobs, $B_DESCENDING, GUICtrlGetState($lvPrintJobs)) Case $lvProcesses Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvProcesses)] _GUICtrlListViewSort($lvProcesses, $B_DESCENDING, GUICtrlGetState($lvProcesses)) Case $lvServices Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvServices)] _GUICtrlListViewSort($lvServices, $B_DESCENDING, GUICtrlGetState($lvServices)) Case $lvHardwareDrives Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvHardwareDrives)] _GUICtrlListViewSort($lvMachines, $B_DESCENDING, GUICtrlGetState$lvHardwareDrives) Case $lvSoftware Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvSoftware)] _GUICtrlListViewSort($lvSoftware, $B_DESCENDING, GUICtrlGetState($lvSoftware)) Case $lvUninstallSoftware Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvUninstallSoftware)] _GUICtrlListViewSort($lvUninstallSoftware, $B_DESCENDING, GUICtrlGetState($lvUninstallSoftware)) Case $lvNameFilter Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvNameFilter)] _GUICtrlListViewSort($lvMachines, $B_DESCENDING, GUICtrlGetState($lvNameFilter)) Case $lvIPFilter Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvIPFilter)] _GUICtrlListViewSort($lvIPFilter, $B_DESCENDING, GUICtrlGetState($lvIPFilter)) Case $lvConfiguredClient Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvConfiguredClient)] _GUICtrlListViewSort($lvConfiguredClient, $B_DESCENDING, GUICtrlGetState($lvConfiguredClient)) Case $lvConfiguredMessage Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount ($lvConfiguredMessage)] _GUICtrlListViewSort($lvConfiguredMessage, $B_DESCENDING, GUICtrlGetState($lvConfiguredMessage)) #EndRegion --- List View (Select Case) --- #Region --- Machine List View Context Menu (Select Case) --- ; $cmLVMachines Case $cmLVMachinesRefresh _StartRefresh() Case $cmLVMachinesStopRefresh _StopRefresh() Case $cmLVMachinesSpecifyMachine _SpecifyMachineGUI() Case $cmLVMachinesRemoveMachine _RemoveMachine() Case $cmLVMachinesExploreMachine _ExploreMachine() ; $cmLVMachinesPopulate Case $cmLVMachinesPopulateAll _PopulateAllViews() Case $cmLVMachinesPopulateCustom _PopulateCustomViews() Case $cmLVMachinesPopulateGeneral _PopulateGeneralView() Case $cmLVMachinesPopulateNetwork _PopulateNetworkView() Case $cmLVMachinesPopulatePeripherals _PopulatePeripheralsView() Case $cmLVMachinesPopulateStartup _PopulateStartupView() Case $cmLVMachinesPopulateProcesses _PopulateProcessesView() Case $cmLVMachinesPopulateServices _PopulateServicesView() Case $cmLVMachinesPopulateTasks _PopulateTasksView() Case $cmLVMachinesPopulateHardware _PopulateHardwareView() Case $cmLVMachinesPopulateSoftware _PopulateSoftwareView() Case $cmLVMachinesPopulateUninstallSoftware _PopulateUninstallSoftwareView() Case $cmLVMachinesPopulateEventLogs _PopulateEventLogsView() Case $cmLVMachinesPopulateUsersAndGroups _PopulateUsersAndGroupsView() ; $cmLVMachinesTools ; $cmLVMachinesToolsMessage Case $cmLVMachinesToolsMessageCustom Case $cmLVMachinesToolsMessagePredefined ; $cmLVCommandPromptMenu Case $cmLVLocalCommandPromptItem _LocalCommandPrompt() Case $cmLVRemoteCommandPromptItem _RemoteCommandPrompt() Case $cmLVMachinesToolsComputerManagement _ComputerManagement() Case $cmLVMachinesToolsRegistryEditor _RegistryEditor() Case $cmLVMachinesToolsRemoteControl Case $cmLVMachinesToolsWake Case $cmLVMachinesToolsPingUtility ; $cmLVMachinesShutdownMachine Case $cmLVMachinesShutdownAdvancedShutdown Case $cmLVMachinesShutdownShutdown Case $cmLVMachinesShutdownRestart Case $cmLVMachinesShutdownSuspend Case $cmLVMachinesShutdownHibernate Case $cmLVMachinesShutdownLogOff Case $cmLVMachinesShutdownLockWorkstation Case $cmLVMachinesToolsPlugins #EndRegion --- Machine List View Context Menu (Select Case) --- #Region --- Machine Domain View Context Menu (Select Case) --- ; $cmDVMachines Case $cmDVMachinesRefresh _StartRefresh() Case $cmDVMachinesStopRefresh _StopRefresh() Case $cmDVMachinesSpecifyMachine _SpecifyMachineGUI() Case $cmDVMachinesRemoveMachine _RemoveMachine() Case $cmDVMachinesExploreMachine _ExploreMachine() ; $cmDVMachinesPopulate Case $cmDVMachinesPopulateAll _PopulateAllViews() Case $cmDVMachinesPopulateCustom _PopulateCustomViews() Case $cmDVMachinesPopulateGeneral _PopulateGeneralView() Case $cmDVMachinesPopulateNetwork _PopulateNetworkView() Case $cmDVMachinesPopulatePeripherals _PopulatePeripheralsView() Case $cmDVMachinesPopulateStartup _PopulateStartupView() Case $cmDVMachinesPopulateProcesses _PopulateProcessesView() Case $cmDVMachinesPopulateServices _PopulateServicesView() Case $cmDVMachinesPopulateTasks _PopulateTasksView() Case $cmDVMachinesPopulateHardware _PopulateHardwareView() Case $cmDVMachinesPopulateSoftware _PopulateSoftwareView() Case $cmDVMachinesPopulateUninstallSoftware _PopulateUninstallSoftwareView() Case $cmDVMachinesPopulateEventLogs _PopulateEventLogsView() Case $cmDVMachinesPopulateUsersAndGroups _PopulateUsersAndGroupsView() ; $cmDVMachinesTools ; $cmDVMachinesToolsMessage Case $cmDVMachinesToolsMessageCustom Case $cmDVMachinesToolsMessagePredefined ; $cmDVCommandPromptMenu Case $cmDVLocalCommandPromptItem _LocalCommandPrompt() Case $cmDVRemoteCommandPromptItem _RemoteCommandPrompt() Case $cmDVMachinesToolsComputerManagement _ComputerManagement() Case $cmDVMachinesToolsRegistryEditor _RegistryEditor() Case $cmDVMachinesToolsRemoteControl Case $cmDVMachinesToolsWake Case $cmDVMachinesToolsPingUtility ; $cmDVMachinesShutdownMachine Case $cmDVMachinesShutdownAdvancedShutdown Case $cmDVMachinesShutdownShutdown Case $cmDVMachinesShutdownRestart Case $cmDVMachinesShutdownSuspend Case $cmDVMachinesShutdownHibernate Case $cmDVMachinesShutdownLogOff Case $cmDVMachinesShutdownLockWorkstation Case $cmDVMachinesToolsPlugins #EndRegion --- Machine Domain View Context Menu (Select Case) --- #Region --- Toolbar Buttons (Select Case) --- Case $tbSpecifyMachine _SpecifyMachineGUI() Case $tbSpecifyMachine Case $tbFind Case $tbFavorites Case $tbCommandPrompt Case $tbComputerManagement Case $tbRegistryEditor Case $tbRemoteControl Case $tbWake Case $tbPingUtility Case $tbPlugins Case $tbRefresh Case $tbStopRefresh Case $tbPreferences Case $tbHelpTopics Case $IDM_tb_b1 to $IDM_tb_b13 ToolBar_Click(_ToolBar_GetIndex($h_ToolBar, $iItem)) #EndRegion --- Toolbar Buttons (Select Case) --- #Region --- All Other Context Menus (Select Case) --- Case $cmGeneralLoggedInRefresh _PopulateLogonInfo() Case $cmGeneralDrivesRefresh _PopulateGeneralDriveInfo() Case $cmGeneralDrivesExplore Case $cmGeneralDrivesSMARTDiag Case $cmMonitorsRefresh _PopulateMonitorInfo() Case $cmPrintersRefresh _PopulatePrinterInfo() Case $cmPrintersExplore Case $cmPrintJobsRefresh _PopulatePrintJobsInfo() Case $cmPrintJobsPause _PrintJobsSetState("Pause") Case $cmPrintJobsResume _PrintJobsSetState("Resume") Case $cmPrintJobsCancel _PrintJobsSetState("Cancel") Case $cmPrintJobsPurge _PrintJobsSetState("Purge") Case $cmStartupItemsRefresh _PopulateStartupView() Case $cmStartupSearchGoogle _SearchStartupGoogle() Case $cmStartupSearchSysinfo _SearchStartupSysinfo() Case $cmProcessesRefresh _PopulateProcessesView() Case $cmProcessesSearchGoogle _SearchProcessGoogle() Case $cmProcessesSearchSysinfo _SearchProcessSysinfo() Case $cmProcessesSearchProcessLibrary _SearchProcessProcessLibrary() Case $cmProcessesSearchWinTasksProcessLibrary _SearchProcessWinTasksProcessLibrary() Case $cmProcessesStart _StartProcess() Case $cmProcessesEnd _EndProcess() Case $cmServicesRefresh _PopulateServicesView() Case $cmServicesStop _ServiceSetState("Stop") Case $cmServicesStart _ServiceSetState("Start") Case$cmServicesPause _ServiceSetState("Pause") Case $cmServicesResume _ServiceSetState("Resume") Case $cmServicesDelete _ServiceSetState("Delete") Case $cmServicesStartModeBoot _ServiceSetState("Boot") Case $cmServicesStartModeSystem _ServiceSetState("System") Case $cmServicesStartModeAutomatic _ServiceSetState("Automatic") Case $cmServicesStartModeManual _ServiceSetState("Manual") Case $cmServicesStartModeDisabled _ServiceSetState("Disabled") Case $cmHardwareDrivesRefresh Case $cmHardwareDrivesExplore Case $cmHardwareDrivesSMARTDiag Case $cmSoftwareRefresh _PopulateSoftwareView() Case $cmUninstallSoftwareRefresh _PopulateUninstallSoftwareView() Case $cmUninstallSoftwareUninstall _UninstallSoftware() #EndRegion --- All Other Context Menus (Select Case) --- #EndRegion --- Main GUI --- ;***Specify Machine GUI Case $btnSMSpecify _SpecifyMachine() Case $btnSMClose _TerminateGUI(@GUI_WinHandle) ;***Preferences GUI Case $tvGeneralItem GUIChangeItems($hUserDummy1, $hUserDummy2, "", "") GUIChangeItems($hNetworkDummy1, $hNetworkDummy2, "", "") GUIChangeItems($hRemoteControlDummy1, $hRemoteControlDummy2, "", "") GUIChangeItems($hExportDummy1, $hExportDummy2, "", "") GUIChangeItems($hToolsDummy1, $hToolsDummy2, "", "") GUIChangeItems($hMessagingDummy1, $hMessagingDummy2, "", "") GUIChangeItems($hThirdPartyDummy1, $hThirdPartyDummy2, "", "") GUIChangeItems($hPluginsDummy1, $hPluginsDummy2, "", "") GUIChangeItems($hPathingDummy1, $hPathingDummy2, "", "") Case $tvUserItem GUIChangeItems($hNetworkDummy1, $hNetworkDummy2, "", "") GUIChangeItems($hRemoteControlDummy1, $hRemoteControlDummy2, "", "") GUIChangeItems($hExportDummy1, $hExportDummy2, "", "") GUIChangeItems($hToolsDummy1, $hToolsDummy2, "", "") GUIChangeItems($hMessagingDummy1, $hMessagingDummy2, "", "") GUIChangeItems($hThirdPartyDummy1, $hThirdPartyDummy2, "", "") GUIChangeItems($hPluginsDummy1, $hPluginsDummy2, "", "") GUIChangeItems($hPathingDummy1, $hPathingDummy2, "", "") GUIChangeItems("", "", $hUserDummy1, $hUserDummy2) Case $tvNetworkItem GUIChangeItems($hUserDummy1, $hUserDummy2, "", "") GUIChangeItems($hRemoteControlDummy1, $hRemoteControlDummy2, "", "") GUIChangeItems($hExportDummy1, $hExportDummy2, "", "") GUIChangeItems($hToolsDummy1, $hToolsDummy2, "", "") GUIChangeItems($hMessagingDummy1, $hMessagingDummy2, "", "") GUIChangeItems($hThirdPartyDummy1, $hThirdPartyDummy2, "", "") GUIChangeItems($hPluginsDummy1, $hPluginsDummy2, "", "") GUIChangeItems($hPathingDummy1, $hPathingDummy2, "", "") GUIChangeItems("", "", $hNetworkDummy1, $hNetworkDummy2) Case $tvRemoteControlItem GUIChangeItems($hUserDummy1, $hUserDummy2, "", "") GUIChangeItems($hNetworkDummy1, $hNetworkDummy2, "", "") GUIChangeItems($hExportDummy1, $hExportDummy2, "", "") GUIChangeItems($hToolsDummy1, $hToolsDummy2, "", "") GUIChangeItems($hMessagingDummy1, $hMessagingDummy2, "", "") GUIChangeItems($hThirdPartyDummy1, $hThirdPartyDummy2, "", "") GUIChangeItems($hPluginsDummy1, $hPluginsDummy2, "", "") GUIChangeItems($hPathingDummy1, $hPathingDummy2, "", "") GUIChangeItems("", "", $hRemoteControlDummy1, $hRemoteControlDummy2) Case $tvExportItem GUIChangeItems($hUserDummy1, $hUserDummy2, "", "") GUIChangeItems($hNetworkDummy1, $hNetworkDummy2, "", "") GUIChangeItems($hRemoteControlDummy1, $hRemoteControlDummy2, "", "") GUIChangeItems($hToolsDummy1, $hToolsDummy2, "", "") GUIChangeItems($hMessagingDummy1, $hMessagingDummy2, "", "") GUIChangeItems($hThirdPartyDummy1, $hThirdPartyDummy2, "", "") GUIChangeItems($hPluginsDummy1, $hPluginsDummy2, "", "") GUIChangeItems($hPathingDummy1, $hPathingDummy2, "", "") GUIChangeItems("", "", $hExportDummy1, $hExportDummy2) Case $tvToolsItem GUIChangeItems($hUserDummy1, $hUserDummy2, "", "") GUIChangeItems($hNetworkDummy1, $hNetworkDummy2, "", "") GUIChangeItems($hRemoteControlDummy1, $hRemoteControlDummy2, "", "") GUIChangeItems($hExportDummy1, $hExportDummy2, "", "") GUIChangeItems($hMessagingDummy1, $hMessagingDummy2, "", "") GUIChangeItems($hThirdPartyDummy1, $hThirdPartyDummy2, "", "") GUIChangeItems($hPluginsDummy1, $hPluginsDummy2, "", "") GUIChangeItems($hPathingDummy1, $hPathingDummy2, "", "") GUIChangeItems("", "", $hToolsDummy1, $hToolsDummy2) Case $tvMessagingItem GUIChangeItems($hUserDummy1, $hUserDummy2, "", "") GUIChangeItems($hNetworkDummy1, $hNetworkDummy2, "", "") GUIChangeItems($hRemoteControlDummy1, $hRemoteControlDummy2, "", "") GUIChangeItems($hExportDummy1, $hExportDummy2, "", "") GUIChangeItems($hToolsDummy1, $hToolsDummy2, "", "") GUIChangeItems($hThirdPartyDummy1, $hThirdPartyDummy2, "", "") GUIChangeItems($hPluginsDummy1, $hPluginsDummy2, "", "") GUIChangeItems($hPathingDummy1, $hPathingDummy2, "", "") GUIChangeItems("", "", $hMessagingDummy1, $hMessagingDummy2) Case $tvThirdPartyItem GUIChangeItems($hUserDummy1, $hUserDummy2, "", "") GUIChangeItems($hNetworkDummy1, $hNetworkDummy2, "", "") GUIChangeItems($hRemoteControlDummy1, $hRemoteControlDummy2, "", "") GUIChangeItems($hExportDummy1, $hExportDummy2, "", "") GUIChangeItems($hToolsDummy1, $hToolsDummy2, "", "") GUIChangeItems($hMessagingDummy1, $hMessagingDummy2, "", "") GUIChangeItems($hPluginsDummy1, $hPluginsDummy2, "", "") GUIChangeItems($hPathingDummy1, $hPathingDummy2, "", "") GUIChangeItems("", "", $hThirdPartyDummy1, $hThirdPartyDummy2) Case $tvPluginsItem GUIChangeItems($hUserDummy1, $hUserDummy2, "", "") GUIChangeItems($hNetworkDummy1, $hNetworkDummy2, "", "") GUIChangeItems($hRemoteControlDummy1, $hRemoteControlDummy2, "", "") GUIChangeItems($hExportDummy1, $hExportDummy2, "", "") GUIChangeItems($hToolsDummy1, $hToolsDummy2, "", "") GUIChangeItems($hMessagingDummy1, $hMessagingDummy2, "", "") GUIChangeItems($hThirdPartyDummy1, $hThirdPartyDummy2, "", "") GUIChangeItems($hPathingDummy1, $hPathingDummy2, "", "") GUIChangeItems("", "", $hPluginsDummy1, $hPluginsDummy2) Case $tvPathingItem GUIChangeItems($hUserDummy1, $hUserDummy2, "", "") GUIChangeItems($hNetworkDummy1, $hNetworkDummy2, "", "") GUIChangeItems($hRemoteControlDummy1, $hRemoteControlDummy2, "", "") GUIChangeItems($hExportDummy1, $hExportDummy2, "", "") GUIChangeItems($hToolsDummy1, $hToolsDummy2, "", "") GUIChangeItems($hMessagingDummy1, $hMessagingDummy2, "", "") GUIChangeItems($hThirdPartyDummy1, $hThirdPartyDummy2, "", "") GUIChangeItems($hPluginsDummy1, $hPluginsDummy2, "", "") GUIChangeItems("", "", $hPathingDummy1, $hPathingDummy2) #Region --- Network Items --- Case $radUseCurrentDomain If GUICtrlRead($radUseCurrentDomain) = $GUI_CHECKED Then GUICtrlSetState($ibDomainInput, $GUI_DISABLE) GUICtrlSetData($ibDomainInput, @LogonDomain) Else GUICtrlSetState($ibDomainInput, $GUI_ENABLE) Endif _WriteINI() Case $radSpecifyDomain If GUICtrlRead($radSpecifyDomain) = $GUI_CHECKED Then GUICtrlSetState($ibDomainInput, $GUI_ENABLE) GUICtrlSetData($ibDomainInput, "") Else GUICtrlSetState($ibDomainInput, $GUI_DISABLE) Endif _WriteINI() Case $ibDomainInput _WriteINI() Case $cmbRetrieveMachinesUsing _WriteINI() Case $cmbRetrieveInformationUsing _WriteINI() Case $ibTimeoutInput _WriteINI() Case $btnAddNameFilter $sNameFilter = GUICtrlRead($ibNameFilter) If StringLen($sNameFilter) Then $lvNameFilterItem = GUICtrlCreateListViewItem($sNameFilter, $lvNameFilter) GUICtrlSetData($ibNameFilter, "", "") Case $btnRemoveNameFilter _GUICtrlListViewDeleteItemsSelected ($lvNameFilter) GUICtrlSetState($btnRemoveNameFilter, $GUI_DISABLE) Case $btnAddIPFilter ; $ip = "" ; For $x = 0 To 3 ; $ip = $ip & GUICtrlRead($Filter_input[$x]) & "." ; Next ; $ip = StringTrimRight($ip, 1) ; GUICtrlCreateListViewItem($ip & "|" & GUICtrlRead($Filter_input[4]), $lv_filters) ; For $x = 0 To 4 ; GUICtrlSetData($Filter_input[$x], "") ; Next ; ;*********************************** ; $nCurEdit = 0 ; ;*********************************** ; ; writeini below ; If _GUICtrlListViewGetItemCount ($lv_filters) > 0 Then ; ; ReDim $a_IPRange[_GUICtrlListViewGetItemCount ($lv_filters) + 1] ; Dim $a_IPRange[_GUICtrlListViewGetItemCount ($lv_filters) + 1] ; $a_IPRange[0] = _GUICtrlListViewGetItemCount ($lv_filters) ; For $x = 0 To _GUICtrlListViewGetItemCount ($lv_filters) - 1 ; $a_IPRange[$x + 1] = StringReplace(_GUICtrlListViewGetItemText ($lv_filters, $x), "|", "-") ; IniWrite(@ScriptDir & '\Settings.ini', "IP-Ranges", "Range" & $x + 1, $a_IPRange[$x + 1]) ; Next ; Else ; $a_IPRange = "" ; EndIf ; ; loadini below ; If IsArray($a_IPRange) Then ; For $x = 1 To $a_IPRange[0] ; $s_Filter = StringReplace($a_IPRange[$x], "-", "|") ; GUICtrlCreateListViewItem($s_Filter, $lv_filters) ; Next ; EndIf Case $btnRemoveIPFilter _GUICtrlListViewDeleteItemsSelected ($lvIPFilter) ; GUICtrlSetState($btnRemoveIPFilter, $GUI_DISABLE) #EndRegion --- Network Items --- #Region --- User Items --- Case $cbxLaunchOnStartup _WriteINI() Case $cbxCheckForUpdates _WriteINI() Case $cbxSpecifyDefaultView If GUICtrlRead($cbxSpecifyDefaultView) = $GUI_CHECKED Then GUICtrlSetState($cmbDefaultView, $GUI_ENABLE) Else GUICtrlSetState($cmbDefaultView, $GUI_DISABLE) Endif _WriteINI() Case $cmbDefaultView _WriteINI() Case $cbxRefreshOnStart _WriteINI() Case $cbxRefreshFromList If GUICtrlRead($cbxRefreshFromList) = $GUI_CHECKED Then GUICtrlSetState($btnRefreshFromListBrowse, $GUI_ENABLE) Else GUICtrlSetState($btnRefreshFromListBrowse, $GUI_DISABLE) Endif _WriteINI() Case $btnRefreshFromListBrowse $sFile = FileOpenDialog("Open", "", "List Files (*.lst)", 1+2) GUICtrlSetData($ibMachineListPath, $sFile, '') _WriteINI() Case $cbxMinimizeToTray _WriteINI() Case $cbxShowSplashScreen _WriteINI() Case $cbxEnableAnimations _WriteINI() Case $cbxMakeActiveTransparent If GUICtrlRead($cbxMakeActiveTransparent) = $GUI_CHECKED Then GUICtrlSetState($lblActiveOpaque, $GUI_ENABLE) GUICtrlSetState($lblActiveTransparent, $GUI_ENABLE) GUICtrlSetState($sldActiveWindowTransparency, $GUI_ENABLE) Else GUICtrlSetState($lblActiveOpaque, $GUI_DISABLE) GUICtrlSetState($lblActiveTransparent, $GUI_DISABLE) GUICtrlSetState($sldActiveWindowTransparency, $GUI_DISABLE) Endif _WriteINI() Case $sldActiveWindowTransparency $sActiveTransparency = GUICtrlRead($sldActiveWindowTransparency) $sActualActiveTransparency = 305-$sActiveTransparency GUICtrlSetTip($sldActiveWindowTransparency, 305-$sActiveTransparency) WinSetTrans(@GUI_WinHandle, "", $sActualActiveTransparency) _WriteINI() Case $cbxMakeInactiveTransparent If GUICtrlRead($cbxMakeInactiveTransparent) = $GUI_CHECKED Then GUICtrlSetState($lblInactiveOpaque, $GUI_ENABLE) GUICtrlSetState($lblInactiveTransparent, $GUI_ENABLE) GUICtrlSetState($sldInactiveWindowTransparency, $GUI_ENABLE) Else GUICtrlSetState($lblInactiveOpaque, $GUI_DISABLE) GUICtrlSetState($lblInactiveTransparent, $GUI_DISABLE) GUICtrlSetState($sldInactiveWindowTransparency, $GUI_DISABLE) Endif _WriteINI() Case $sldInactiveWindowTransparency $sInactiveTransparency = GUICtrlRead($sldInactiveWindowTransparency) $sActualInactiveTransparency = 305-$sInactiveTransparency GUICtrlSetTip($sldActiveWindowTransparency, 305-$sActiveTransparency) WinSetTrans($sTitle, "", $sActualInactiveTransparency) _WriteINI() #EndRegion --- User Items End --- #Region --- Remote Control Items --- ; #cs ;*********************************************** ; RagnaroktA, ; ; You may want to consider some revision to the below ; buttons as they all point to the same function, but ; do not do anything different. You may want to ; consider using a parameter in the function to decide ; what to do. ; ; Thanks, ; JSThePatriot ; #ce ;*********************************************** Case $cmConfiguredClientRefresh Case $cmConfiguredClientSetDefault Case $cmConfiguredClientEdit _RemoteControlConfigureClientGUI() Case $cmConfiguredClientAdd _RemoteControlConfigureClientGUI() Case $cmConfiguredClientRemove Case $btnRemoteControlEdit _RemoteControlConfigureClientGUI() Case $btnRemoteControlAdd _RemoteControlConfigureClientGUI() Case $btnRemoteControlRemove #EndRegion --- Remote Control Items End --- Case $btnPOK _WriteINI() _ReadINI() _LoadINI() _ReleaseMemory() _TerminateGUI(@GUI_WinHandle) Case $btnPCancel _TerminateGUI(@GUI_WinHandle) Case $btnPHelp _HelpGUI() ;***Remote Control Configure Client GUI Case $btnRCOK ;******************** ;Do something here... ;******************** Case $btnRCHelp _HelpGUI() Case $btnRCCancel _TerminateGUI(@GUI_WinHandle) Case $btnRCClientBrowse $sFile = FileOpenDialog("Open", "", "Program Files (*.exe)", 1+2) GUICtrlSetData($ibClientExe, $sFile, '') ;***Find Machine GUI Case $btnFMFind _FindMachine() Case $btnFMClose _TerminateGUI(@GUI_WinHandle) ;***About GUI Case $btnAOK _TerminateGUI(@GUI_WinHandle) Case $hlAuthorMailTo1 _INetMail($lblAuthorMailTo1, "Regarding " & $sTitle, "") Case $hlAuthorMailTo2 _INetMail($lblAuthorMailTo2, "Regarding " & $sTitle, "") Case $hlAuthorMailTo3 _INetMail($lblAuthorMailTo3, "Regarding " & $sTitle, "") EndSwitch EndFunc Func _SysEventHandler() Switch @GUI_CtrlId Case $GUI_EVENT_CLOSE If @GUI_WinHandle <> $hGUI Then _TerminateGUI(@GUI_WinHandle) Else _TerminateApp() EndIf Case $GUI_EVENT_MINIMIZE If $MinimizeToTrayINI = "True" Then _MinimizeToTray() EndIf Case $GUI_EVENT_RESTORE Case $GUI_EVENT_MAXIMIZE Case $GUI_EVENT_PRIMARYDOWN Case $GUI_EVENT_PRIMARYUP Case $GUI_EVENT_SECONDARYDOWN Case $GUI_EVENT_SECONDARYUP Case $GUI_EVENT_MOUSEMOVE Case $GUI_EVENT_RESIZED Case $GUI_EVENT_DROPPED If StringInStr(@GUI_DragFile, ".lst") Then _ImportMachineList(@GUI_DragFile) Else MsgBox(16, $sTitle, "Only List Files (*.lst) can be dropped into the List View.") Endif EndSwitch EndFunc ; ==> _SysEventHandler #endregion #Region --- Loading Functions --- Func _LoadPreferences() _LockAndWait() ; Load Preferences & Update Program Status Bar _GUICtrlStatusBarSetText($cStatusBar, "Searching For Configuration File...", 0) Sleep(700) If Not FileExists($sRASINI) Then _GUICtrlStatusBarSetText($cStatusBar, "Unable To Locate Configuration File!", 0) Sleep(700) _GUICtrlStatusBarSetText($cStatusBar, "Creating Configuration File...", 0) _CreateINI() Sleep(700) _GUICtrlStatusBarSetText($cStatusBar, "Configuration File Created.", 0) Endif _GUICtrlStatusBarSetText($cStatusBar, "Reading Configuration File...", 0) _ReadINI() Sleep(700) _GUICtrlStatusBarSetText($cStatusBar, "Loading Preferences...", 0) _LoadINI() Sleep(700) If $RefreshMachinesOnStartINI = "True" Then ; Refresh From List _StartRefresh() EndIf _GUICtrlStatusBarSetText($cStatusBar, "Ready!", 0) ; Done Loading, Set Ready _ResetLockAndWait() EndFunc ; ==> _LoadPreferences #EndRegion --- Loading Functions --- #Region --- Specify Machine GUI Func _SpecifyMachineGUI() If WinActive($sTitle) Then ; Ensure the user is pressing ESC for the Administration Tool and not for some other program that is open GUISetState(@SW_DISABLE, $cInformationTab) GUISetState(@SW_DISABLE, $hGUI) $hSpecifyMachineGUI = GUICreate("Specify Machine", 176, 27, -1, -1, -1, BitOr($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST)) GUISetIcon($sRASUIDLL, 53, $hSpecifyMachineGUI) $ibSpecify = GUICtrlCreateInput('', 3, 3, 125, 20, BitOr($ES_AUTOHSCROLL, $ES_UPPERCASE)) $btnSMSpecify = GUICtrlCreateButton('', 130, 3, 20, 20, BitOr($BS_DEFPUSHBUTTON ,$BS_ICON)) GUICtrlSetTip($btnSMSpecify, 'Specify') GUICtrlSetImage($btnSMSpecify, $sRASUIDLL, 53, 0) $btnSMClose = GUICtrlCreateButton('', 153, 3, 20, 20, $BS_ICON) GUICtrlSetTip($btnSMClose, 'Close') GUICtrlSetImage($btnSMClose, $sRASUIDLL, 150, 0) ;Set Events GUICtrlSetOnEvent($btnSMSpecify, "_GUIEventHandler") GUICtrlSetOnEvent($btnSMClose, "_GUIEventHandler") GUISetOnEvent($GUI_EVENT_CLOSE, "_SysEventHandler", $hSpecifyMachineGUI) GuiSetState() Else HotKeySet("{F2}") Send("{F2}") HotKeySet("{F2}", "_SpecifyMachineGUI") ; Open Specify GUI Endif EndFunc ; ==> _SpecifyMachineGUI Func _SpecifyMachine() Local $sSpecifyMachineName = GUICtrlRead($ibSpecify), $lvItem If $sSpecifyMachineName = "" Then _GUICtrlStatusBarSetText($cStatusBar, "No machine name specified.", 0) ; Machine Not Specified _GUICtrlStatusBarReset($cStatusBar) Else _GUICtrlStatusBarSetText($cStatusBar, "Contacting '" & $sSpecifyMachineName & "', please wait.", 0) ; Contacting Machine If Ping($sSpecifyMachineName) Then _Wait() _GUICtrlStatusBarSetText($cStatusBar, "'" & $sSpecifyMachineName & "' contacted, and added successfully.", 0) ; Machine Contacted And Added $sIPAddress = TCPNameToIP($sSpecifyMachineName) $lvItem = GUICtrlCreateListViewItem($sSpecifyMachineName, $lvMachines) GUICtrlSetData($lvItem, $sSpecifyMachineName & "|" & $sIPAddress & "|" & $sDescription & "|" & $lvItem) GUICtrlSetImage($lvItem, $sRASUIDLL, 138) ; Online Icon ; If _CheckWMI($sSpecifyMachineName) <> 0 Then ; _GUICtrlStatusBarSetText($cStatusBar, "Unable to connect to the WMI Service on '" & $sWMITarget & "'.", 0) ; Unable To Connect To The WMI Service ; GUICtrlSetImage($lvItem, $sRASUIDLL, 31) ; Else ; GUICtrlSetImage($lvItem, $sRASUIDLL, 138) ; Endif Else _Wait() _GUICtrlStatusBarSetText($cStatusBar, "'" & $sSpecifyMachineName & "' could not be contacted, and may not be valid.", 0) ; Machine Could Not Be Contacted $sIPAddress = "Offline" $lvItem = GUICtrlCreateListViewItem($sSpecifyMachineName, $lvMachines) GUICtrlSetData($lvItem, $sSpecifyMachineName & "|" & $sIPAddress & "|" & $sDescription & "|" & $lvItem) GUICtrlSetImage($lvItem, $sRASUIDLL, 169) Endif If $lvEven Then $lvEven = 0 Else $lvEven = 1 GUICtrlSetBkColor($lvItem, $GUIBkColor) EndIf GUICtrlSetData($ibSpecify, "") GUICtrlSetState($ibSpecify, $GUI_FOCUS) _GUICtrlStatusBarReset($cStatusBar) _ResetWait() Endif EndFunc ; ==> _SpecifyMachine #EndRegion --- Specify Machine Functions\ #Region --- Preferences GUI Func _PreferencesGUI() GUISetState(@SW_DISABLE, $cInformationTab) GUISetState(@SW_DISABLE, $hGUI) $hPreferencesGUI = GUICreate($sTitle & " Preferences", 415, 400, -1, -1, -1, BitOr($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST)) GUISetIcon($sRASUIDLL, 129, $hPreferencesGUI) ; Load Groups & Text GUICtrlCreateGroup ("", 5, 0, 405, 50) GUICtrlCreateIcon ($sRASUIDLL, -99, 10, 12, 30, 30) ; Icon 98 GUICtrlCreateLabel ($sTitle, 45, 12, 220) ; Display Application Title GUICtrlSetFont (-1, 10, 650) GUICtrlCreateLabel ("v" & $sVersion, 45, 29, 60, 15) ; Display Application Version GUICtrlCreateLabel ($sBuild, 70, 29, 60, 15) ; Display Application Build GUICtrlSetColor (-1,0xff0000) GUICtrlCreateLabel ("Copyright © 2005-2007", 5, 380, 120, 20) ; Display Copyright Message ; Load Buttons & Graphics $btnPOK = GUICtrlCreateButton ("OK", 220, 375, 60, 20) ; OK Button $btnPCancel = GUICtrlCreateButton ("Cancel", 285, 375, 60, 20) ; Cancel Button $btnPHelp = GUICtrlCreateButton ("Help", 350, 375, 60, 20) ; Help Button GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group GUICtrlCreateGroup ("", 5, 42, 405, 328) #Region --- Tree View --- $tvPreferences = GUICtrlCreateTreeView(10, 53, 150, 312, BitOr($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE);BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_TRACKSELECT, $WS_EX_CLIENTEDGE)) #Region --- General Preferences --- $tvGeneralItem = GUICtrlCreateTreeViewItem("General", $tvPreferences) GUICtrlSetImage($tvGeneralItem, $sRASUIDLL, 90) GUICtrlSetColor($tvGeneralItem, 0x0000C0) #Region --- General Controls --- ; Logging #EndRegion --- General Controls End --- $tvUserItem = GUICtrlCreateTreeViewItem("User", $tvGeneralItem) GUICtrlSetImage($tvUserItem, $sRASUIDLL, 88) #Region --- User Controls --- $hUserDummy1 = GUICtrlCreateDummy() $cbxLaunchOnStartup = GUICtrlCreateCheckbox("Launch Program On Startup", 163, 50, 200, 20) $cbxCheckForUpdates = GUICtrlCreateCheckbox("Check For Updates On Program Start", 163, 70, 200, 20) $cbxSpecifyDefaultView = GUICtrlCreateCheckbox("Specify Default View", 163, 90, 120, 20) $cmbDefaultView = GUICtrlCreateCombo("", 285, 89, 120, 20, $CBS_DROPDOWNLIST) $cmbDefaultViewData = GUICtrlSetData($cmbDefaultView,"List View|Domain View", "List View") GUICtrlSetState($cmbDefaultView, $GUI_DISABLE) $cbxRefreshOnStart = GUICtrlCreateCheckbox("Refresh Machines On Program Start", 163, 110, 200, 20) $cbxRefreshFromList = GUICtrlCreateCheckbox("Refresh From Machine List", 163, 130, 145, 20) $btnRefreshFromListBrowse = GUICtrlCreateButton('...', 310, 130, 20, 20) GUICtrlSetTip($btnRefreshFromListBrowse, "Browse") GUICtrlSetState($btnRefreshFromListBrowse, $GUI_DISABLE) $cbxMinimizeToTray = GUICtrlCreateCheckbox("Minimize Program To Tray", 163, 150, 200, 20) $cbxShowSplashScreen = GUICtrlCreateCheckbox("Show Splash Screen On Program Start", 163, 170, 200, 20) $cbxEnableAnimations = GUICtrlCreateCheckbox("Enable Program Animations", 163, 190, 200, 20) $cbxMakeActiveTransparent = GUICtrlCreateCheckbox("Make Active Windows Transparent", 163, 210, 200, 20) $lblActiveOpaque = GUICtrlCreateLabel("0%", 178, 232, 20, 15, $SS_CENTER) GUICtrlSetState($lblActiveOpaque, $GUI_DISABLE) $lblActiveTransparent = GUICtrlCreateLabel("80%", 368, 232, 20, 15, $SS_CENTER) GUICtrlSetState($lblActiveTransparent, $GUI_DISABLE) $sldActiveWindowTransparency = GUICtrlCreateSlider(198, 229, 170, 20) GUICtrlSetLimit($sldActiveWindowTransparency, 255, 50) GUICtrlSetState($sldActiveWindowTransparency, $GUI_DISABLE) $cbxMakeInactiveTransparent = GUICtrlCreateCheckbox("Make Inactive Windows Transparent", 163, 248, 200, 20) $lblInactiveOpaque = GUICtrlCreateLabel("0%", 178, 270, 20, 15, $SS_CENTER) GUICtrlSetState($lblInactiveOpaque, $GUI_DISABLE) $lblInactiveTransparent = GUICtrlCreateLabel("80%", 368, 270, 20, 15, $SS_CENTER) GUICtrlSetState($lblInactiveTransparent, $GUI_DISABLE) $sldInactiveWindowTransparency = GUICtrlCreateSlider(198, 267, 170, 20) GUICtrlSetLimit($sldInactiveWindowTransparency, 255, 50) GUICtrlSetState($sldInactiveWindowTransparency, $GUI_DISABLE) ; WinSetTrans ("title", "text", transparency) $grpUserCredentials = GUICtrlCreateGroup("Credentials", 163, 290, 243, 76) $lblUsername = GUICtrlCreateLabel("Username", 169, 306, 80, 20) GUICtrlSetFont (-1, -1, 650) $ibUsername = GUICtrlCreateInput("", 234, 303, 120, 20, $ES_AUTOHSCROLL) $lblPassword = GUICtrlCreateLabel("Password", 169, 331, 80, 20) GUICtrlSetFont (-1, -1, 650) $ibPassword = GUICtrlCreateInput("", 234, 328, 120, 20, BitOr($ES_AUTOHSCROLL, $ES_PASSWORD)) GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group $icoSecurity = GUICtrlCreateIcon($sRASUIDLL, -116, 362, 310) ; Icon 115 $hUserDummy2 = GUICtrlCreateDummy() #EndRegion --- User Controls End --- $tvNetworkItem = GUICtrlCreateTreeViewItem("Network", $tvGeneralItem) GUICtrlSetImage($tvNetworkItem, $sRASUIDLL, 122) #Region --- Network Controls --- $hNetworkDummy1 = GUICtrlCreateDummy() $lblDomain = GUICtrlCreateLabel("Domain/Workgroup", 163, 51, 140, 20) GUICtrlSetFont (-1, -1, 650) GUIStartGroup() $radUseCurrentDomain = GUICtrlCreateRadio("Use Current", 163, 65, 90, 19) GUICtrlSetState($radUseCurrentDomain, $GUI_CHECKED) $radSpecifyDomain = GUICtrlCreateRadio("Specify", 163, 83, 90, 19) $ibDomainInput = GUICtrlCreateInput("", 163, 102, 90, 21, BitOr($ES_AUTOHSCROLL, $ES_UPPERCASE)) GUICtrlSetState($ibDomainInput, $GUI_DISABLE) $lblTimeout = GUICtrlCreateLabel("Ping Time Out", 163, 124, 85, 20) GUICtrlSetFont (-1, -1, 650) $ibTimeoutInput = GUICtrlCreateInput("", 163, 140, 20, 21, BitOr($ES_NUMBER, $ES_UPPERCASE)) $lblMilliseconds = GUICtrlCreateLabel("ms", 187, 147, 20, 20) $lblRetrieveMachinesUsing = GUICtrlCreateLabel("Retrieve Machines Using", 255, 86, 150, 20) GUICtrlSetFont (-1, -1, 650) $cmbRetrieveMachinesUsing = GUICtrlCreateCombo("", 255, 102, 140, 20, $CBS_DROPDOWNLIST) $cmbRetrieveMachinesUsingData = GUICtrlSetData($cmbRetrieveMachinesUsing,"LDAP|NetView", "LDAP") $lblRetrieveInformationUsing = GUICtrlCreateLabel("Retrieve Information Using", 255, 124, 150, 20) GUICtrlSetFont (-1, -1, 650) $cmbRetrieveInformationUsing = GUICtrlCreateCombo("", 255, 140, 140, 20, $CBS_DROPDOWNLIST) $cmbRetrieveInformationUsingData = GUICtrlSetData($cmbRetrieveInformationUsing,"WMI|Registry", "WMI") ; Filters GUICtrlCreateGroup("Name Filter", 163, 162, 243, 82) $ibNameFilter = GUICtrlCreateInput("", 309, 176, 94, 20) $btnAddNameFilter = GUICtrlCreateButton("Add Filter", 309, 199, 94, 20) ; GUICtrlSetState($btnAddNameFilter, $GUI_DISABLE) $btnRemoveNameFilter = GUICtrlCreateButton("Remove Filter", 309, 220, 94, 20) ; GUICtrlSetState($btnRemoveNameFilter, $GUI_DISABLE) $lvNameFilter = GUICtrlCreateListView("Filters", 167, 176, 140, 65, BitOR($LVS_SINGLESEL, $LVS_SHOWSELALWAYS)) GUICtrlSendMsg($lvNameFilter, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvNameFilter, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvNameFilter, 0, 136) GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group GUICtrlCreateGroup("IP Range Filter", 163, 244, 243, 122) Dim $ibIPFilter[5] $ibIPFilter[0] = GUICtrlCreateInput("", 167, 258, 30, 20, $ES_NUMBER) GUICtrlSetLimit($ibIPFilter[0], 3, 1) GUICtrlCreateLabel (".", 198, 258, 5) GUICtrlSetFont (-1, 14, 650) $ibIPFilter[1] = GUICtrlCreateInput("", 206, 258, 30, 20, $ES_NUMBER) GUICtrlSetLimit($ibIPFilter[1], 3, 1) GUICtrlCreateLabel (".", 237, 258, 5) GUICtrlSetFont (-1, 14, 650) $ibIPFilter[2] = GUICtrlCreateInput("", 245, 258, 30, 20, $ES_NUMBER) GUICtrlSetLimit($ibIPFilter[2], 3, 1) GUICtrlCreateLabel (".", 276, 258, 5) GUICtrlSetFont (-1, 14, 650) $ibIPFilter[3] = GUICtrlCreateInput("", 284, 258, 30, 20, $ES_NUMBER) GUICtrlSetLimit($ibIPFilter[3], 3, 1) GUICtrlCreateLabel ("-", 319, 255, 8) GUICtrlSetFont (-1, 14, 650) $ibIPFilter[4] = GUICtrlCreateInput("", 331, 258, 30, 20, $ES_NUMBER) GUICtrlSetLimit($ibIPFilter[4], 3, 1) $btnAddIPFilter = GUICtrlCreateButton("Add Filter", 309, 280, 94, 20) ; GUICtrlSetState($btnAddIPFilter, $GUI_DISABLE) $btnRemoveIPFilter = GUICtrlCreateButton("Remove Filter", 309, 302, 94, 20) ; GUICtrlSetState($btnRemoveIPFilter, $GUI_DISABLE) $lvIPFilter = GUICtrlCreateListView("Start|End", 167, 281, 140, 65, BitOR($LVS_SINGLESEL, $LVS_SHOWSELALWAYS)) GUICtrlSendMsg($lvIPFilter, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvIPFilter, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvIPFilter, 0, 98) $cbxInclusionFilter = GUICtrlCreateCheckbox("Use IP Range Inclusion Filter(s)", 167, 346, 130, 19) GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group $hNetworkDummy2 = GUICtrlCreateDummy() #EndRegion --- Network Controls End --- $tvRemoteControlItem = GUICtrlCreateTreeViewItem("Remote Control", $tvGeneralItem) GUICtrlSetImage($tvRemoteControlItem, $sRASUIDLL, 97) #Region --- Remote Control Controls --- $hRemoteControlDummy1 = GUICtrlCreateDummy() $grpRemoteControlNote = GUICtrlCreateGroup("Note", 163, 50, 243, 43) $lblRemoteControlInstructions = GUICtrlCreateLabel(" Please choose the desired default client from the list, or add a custom client below.", 167, 63, 230, 28) GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group $lvConfiguredClient = GUICtrlCreateListView("Configured Client|Default|ID", 163, 97, 243, 246, BitOR($LVS_SINGLESEL, $LVS_SHOWSELALWAYS)) GUICtrlSendMsg($lvConfiguredClient, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvConfiguredClient, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvConfiguredClient, 0, 189) _GUICtrlListViewSetColumnWidth ($lvConfiguredClient, 1, 50) _GUICtrlListViewHideColumn ($lvConfiguredClient, 2) $cmConfiguredClient = GUICtrlCreateContextMenu($lvConfiguredClient) $cmConfiguredClientRefresh = _GUICtrlCreateODMenuItem("Refresh View", $cmConfiguredClient, $sRASUIDLL, 157) _GUICtrlCreateODMenuItem("", $cmConfiguredClient, '', 0) $cmConfiguredClientSetDefault = _GUICtrlCreateODMenuItem("Set As Default", $cmConfiguredClient, $sRASUIDLL, 76) _GUICtrlCreateODMenuItem("", $cmConfiguredClient, '', 0) $cmConfiguredClientEdit = _GUICtrlCreateODMenuItem("Edit Client", $cmConfiguredClient, '', 0) $cmConfiguredClientAdd = _GUICtrlCreateODMenuItem("Add Client", $cmConfiguredClient, '', 0) $cmConfiguredClientRemove = _GUICtrlCreateODMenuItem("Remove Client", $cmConfiguredClient, '', 0) $btnRemoteControlEdit = GUICtrlCreateButton("Edit Client", 163, 346, 80, 20) $btnRemoteControlAdd = GUICtrlCreateButton("Add Client", 244, 346, 81, 20) $btnRemoteControlRemove = GUICtrlCreateButton("Remove Client", 326, 346, 80, 20) $hRemoteControlDummy2 = GUICtrlCreateDummy() #EndRegion --- Remote Control Controls End --- $tvExportItem = GUICtrlCreateTreeViewItem("Export", $tvGeneralItem) GUICtrlSetImage($tvExportItem, $sRASUIDLL, 62) #Region --- Export Controls --- $hExportDummy1 = GUICtrlCreateDummy() ; Text Document (Formatted) ; Comma Separated Values (Unformatted) ; Word Document (Formatted) ; Excel Spreadsheet (Formatted) ; Access Database ; SQL Database ; Specify Path/Prompt ; Preview $hExportDummy2 = GUICtrlCreateDummy() #EndRegion --- Export Controls End --- #EndRegion --- General Preferences End --- #Region --- Tools Preferences --- $tvToolsItem = GUICtrlCreateTreeViewItem("Tools", $tvPreferences) GUICtrlSetImage($tvToolsItem, $sRASUIDLL, 132) GUICtrlSetColor($tvToolsItem, 0x0000C0) #Region --- Tools Controls --- $hToolsDummy1 = GUICtrlCreateDummy() $hToolsDummy2 = GUICtrlCreateDummy() #EndRegion --- Tools Controls End --- $tvMessagingItem = GUICtrlCreateTreeViewItem("Messaging", $tvToolsItem) GUICtrlSetImage($tvMessagingItem, $sRASUIDLL, 100) #Region --- Messaging Controls --- $hMessagingDummy1 = GUICtrlCreateDummy() $lvConfiguredMessage = GUICtrlCreateListView("Configured Message|Contents|ID", 163, 53, 243, 290, BitOR($LVS_SINGLESEL, $LVS_SHOWSELALWAYS)) GUICtrlSendMsg($lvConfiguredMessage, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) GUICtrlSendMsg($lvConfiguredMessage, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListViewSetColumnWidth ($lvConfiguredMessage, 0, 120) _GUICtrlListViewSetColumnWidth ($lvConfiguredMessage, 1, 119) _GUICtrlListViewHideColumn ($lvConfiguredMessage, 2) $cmConfiguredMessage = GUICtrlCreateContextMenu($lvConfiguredMessage) $cmConfiguredMessageRefresh = _GUICtrlCreateODMenuItem("Refresh View", $cmConfiguredMessage, '', 0) _GUICtrlCreateODMenuItem("", $cmConfiguredMessage, '', 0) $cmConfiguredMessageEdit = _GUICtrlCreateODMenuItem("Edit Message", $cmConfiguredMessage, '', 0) $cmConfiguredMessageAdd = _GUICtrlCreateODMenuItem("Add Message", $cmConfiguredMessage, '', 0) $cmConfiguredMessageRemove = _GUICtrlCreateODMenuItem("Remove Message", $cmConfiguredMessage, '', 0) $btnMessageEdit = GUICtrlCreateButton("Edit Message", 163, 346, 71, 20) $btnMessageAdd = GUICtrlCreateButton("Add Message", 237, 346, 73, 20) $btnMessageRemove = GUICtrlCreateButton("Remove Message", 313, 346, 94, 20) $hMessagingDummy2 = GUICtrlCreateDummy() #EndRegion --- Messaging Controls End --- $tvThirdPartyItem = GUICtrlCreateTreeViewItem("Third Party", $tvToolsItem) GUICtrlSetImage($tvThirdPartyItem, $sRASUIDLL, 139) #Region --- Third Party Controls --- $hThirdPartyDummy1 = GUICtrlCreateDummy() ; $lvConfiguredMessage = GUICtrlCreateListView("Configured Message|Contents|ID", 163, 53, 243, 290, BitOR($LVS_SINGLESEL, $LVS_SHOWSELALWAYS)) ; GUICtrlSendMsg($lvConfiguredMessage, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) ; GUICtrlSendMsg($lvConfiguredMessage, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) ; _GUICtrlListViewSetColumnWidth ($lvConfiguredMessage, 0, 120) ; _GUICtrlListViewSetColumnWidth ($lvConfiguredMessage, 1, 119) ; _GUICtrlListViewHideColumn ($lvConfiguredMessage, 2) ; ; $cmConfiguredMessage = GUICtrlCreateContextMenu($lvConfiguredMessage) ; $cmConfiguredMessageRefresh = GUICtrlCreateMenuItem("Refresh View", $cmConfiguredMessage) ; GUICtrlCreateMenuItem("", $cmConfiguredMessage) ; $cmConfiguredMessageEdit = GUICtrlCreateMenuItem("Edit Message", $cmConfiguredMessage) ; $cmConfiguredMessageAdd = GUICtrlCreateMenuItem("Add Message", $cmConfiguredMessage) ; $cmConfiguredMessageRemove = GUICtrlCreateMenuItem("Remove Message", $cmConfiguredMessage) ; ; $btnMessageEdit = GUICtrlCreateButton("Edit Message", 163, 346, 71, 20) ; $btnMessageAdd = GUICtrlCreateButton("Add Message", 237, 346, 73, 20) ; $btnMessageRemove = GUICtrlCreateButton("Remove Message", 313, 346, 94, 20) $hThirdPartyDummy2 = GUICtrlCreateDummy() #EndRegion --- Third Party Controls End --- $tvPluginsItem = GUICtrlCreateTreeViewItem("Plugins", $tvToolsItem) GUICtrlSetImage($tvPluginsItem, $sRASUIDLL, 131) #Region --- Plugins Controls --- $hPluginsDummy1 = GUICtrlCreateDummy() ; $lvConfiguredMessage = GUICtrlCreateListView("Configured Message|Contents|ID", 163, 53, 243, 290, BitOR($LVS_SINGLESEL, $LVS_SHOWSELALWAYS)) ; GUICtrlSendMsg($lvConfiguredMessage, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT) ; GUICtrlSendMsg($lvConfiguredMessage, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) ; _GUICtrlListViewSetColumnWidth ($lvConfiguredMessage, 0, 120) ; _GUICtrlListViewSetColumnWidth ($lvConfiguredMessage, 1, 119) ; _GUICtrlListViewHideColumn ($lvConfiguredMessage, 2) ; ; $cmConfiguredMessage = GUICtrlCreateContextMenu($lvConfiguredMessage) ; $cmConfiguredMessageRefresh = GUICtrlCreateMenuItem("Refresh View", $cmConfiguredMessage) ; GUICtrlCreateMenuItem("", $cmConfiguredMessage) ; $cmConfiguredMessageEdit = GUICtrlCreateMenuItem("Edit Message", $cmConfiguredMessage) ; $cmConfiguredMessageAdd = GUICtrlCreateMenuItem("Add Message", $cmConfiguredMessage) ; $cmConfiguredMessageRemove = GUICtrlCreateMenuItem("Remove Message", $cmConfiguredMessage) ; ; $btnMessageEdit = GUICtrlCreateButton("Edit Message", 163, 346, 71, 20) ; $btnMessageAdd = GUICtrlCreateButton("Add Message", 237, 346, 73, 20) ; $btnMessageRemove = GUICtrlCreateButton("Remove Message", 313, 346, 94, 20) $hPluginsDummy2 = GUICtrlCreateDummy() #EndRegion --- Plugins Controls End --- #EndRegion --- Tools Preferences --- #Region --- Pathing Preferences --- $tvPathingItem = GUICtrlCreateTreeViewItem("Pathing", $tvPreferences) GUICtrlSetImage($tvPathingItem, $sRASUIDLL, 45) GUICtrlSetColor($tvPathingItem, 0x0000C0) #Region --- Pathing Controls --- $hPathingDummy1 = GUICtrlCreateDummy() $lblMachineList = GUICtrlCreateLabel("Machine List", 163, 50, 200, 20) GUICtrlSetFont (-1, 8, 400) GUICtrlSetColor (-1,0x0000FF) $ibMachineListPath = GUICtrlCreateInput($RefreshMachinesListINI, 163, 65, 243, 20, BitOr($ES_OEMCONVERT, $ES_READONLY)) GUICtrlSetTip($ibMachineListPath, $RefreshMachinesListINI) $hPathingDummy2 = GUICtrlCreateDummy() #EndRegion --- Pathing Controls --- #EndRegion --- Pathing Preferences --- GUICtrlSetState($tvGeneralItem, $GUI_EXPAND) GUICtrlSetState($tvToolsItem, $GUI_EXPAND) GUICtrlSetState($tvPathingItem, $GUI_EXPAND) GUICtrlSetState($tvGeneralItem, $GUI_FOCUS) #EndRegion --- Tree View End --- GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group _ReadINI() _LoadINI() GUIChangeItems($hUserDummy1, $hUserDummy2, "", "") GUIChangeItems($hNetworkDummy1, $hNetworkDummy2, "", "") GUIChangeItems($hRemoteControlDummy1, $hRemoteControlDummy2, "", "") GUIChangeItems($hExportDummy1, $hExportDummy2, "", "") GUIChangeItems($hToolsDummy1, $hToolsDummy2, "", "") GUIChangeItems($hMessagingDummy1, $hMessagingDummy2, "", "") GUIChangeItems($hThirdPartyDummy1, $hThirdPartyDummy2, "", "") GUIChangeItems($hPluginsDummy1, $hPluginsDummy2, "", "") GUIChangeItems($hPathingDummy1, $hPathingDummy2, "", "") ;Set GUI Events GUICtrlSetOnEvent($btnPCancel, "_GUIEventHandler") GUICtrlSetOnEvent($btnPHelp, "_GUIEventHandler") GUICtrlSetOnEvent($btnPOK, "_GUIEventHandler") ;Preferences Events GUICtrlSetOnEvent($tvGeneralItem, "_GUIEventHandler") GUICtrlSetOnEvent($tvUserItem, "_GUIEventHandler") GUICtrlSetOnEvent($tvNetworkItem, "_GUIEventHandler") GUICtrlSetOnEvent($tvRemoteControlItem, "_GUIEventHandler") GUICtrlSetOnEvent($tvExportItem, "_GUIEventHandler") GUICtrlSetOnEvent($tvToolsItem, "_GUIEventHandler") GUICtrlSetOnEvent($tvMessagingItem, "_GUIEventHandler") GUICtrlSetOnEvent($tvThirdPartyItem, "_GUIEventHandler") GUICtrlSetOnEvent($tvPluginsItem, "_GUIEventHandler") GUICtrlSetOnEvent($tvPathingItem, "_GUIEventHandler") ;Network Events GUICtrlSetOnEvent($radSpecifyDomain, "_GUIEventHandler") GUICtrlSetOnEvent($radUseCurrentDomain, "_GUIEventHandler") GUICtrlSetOnEvent($ibDomainInput, "_GUIEventHandler") GUICtrlSetOnEvent($ibTimeoutInput, "_GUIEventHandler") GUICtrlSetOnEvent($cmbRetrieveMachinesUsing, "_GUIEventHandler") GUICtrlSetOnEvent($cmbRetrieveInformationUsing, "_GUIEventHandler") GUICtrlSetOnEvent($btnAddNameFilter, "_GUIEventHandler") GUICtrlSetOnEvent($btnRemoveNameFilter, "_GUIEventHandler") GUICtrlSetOnEvent($btnAddIPFilter, "_GUIEventHandler") GUICtrlSetOnEvent($btnRemoveIPFilter, "_GUIEventHandler") ;User Items GUICtrlSetOnEvent($cbxLaunchOnStartup, "_GUIEventHandler") GUICtrlSetOnEvent($cbxCheckForUpdates, "_GUIEventHandler") GUICtrlSetOnEvent($cbxSpecifyDefaultView, "_GUIEventHandler") GUICtrlSetOnEvent($cmbDefaultView, "_GUIEventHandler") GUICtrlSetOnEvent($cbxRefreshOnStart, "_GUIEventHandler") GUICtrlSetOnEvent($cbxRefreshFromList, "_GUIEventHandler") GUICtrlSetOnEvent($btnRefreshFromListBrowse, "_GUIEventHandler") GUICtrlSetOnEvent($cbxMinimizeToTray, "_GUIEventHandler") GUICtrlSetOnEvent($cbxShowSplashScreen, "_GUIEventHandler") GUICtrlSetOnEvent($cbxEnableAnimations, "_GUIEventHandler") GUICtrlSetOnEvent($cbxMakeActiveTransparent, "_GUIEventHandler") GUICtrlSetOnEvent($sldActiveWindowTransparency, "_GUIEventHandler") GUICtrlSetOnEvent($cbxMakeInactiveTransparent, "_GUIEventHandler") GUICtrlSetOnEvent($sldInactiveWindowTransparency, "_GUIEventHandler") GUICtrlSetOnEvent($ibUsername, "_GUIEventHandler") GUICtrlSetOnEvent($ibPassword, "_GUIEventHandler") ;Remote Client Items GUICtrlSetOnEvent($cmConfiguredClientRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($cmConfiguredClientSetDefault, "_GUIEventHandler") GUICtrlSetOnEvent($cmConfiguredClientEdit, "_GUIEventHandler") GUICtrlSetOnEvent($cmConfiguredClientAdd, "_GUIEventHandler") GUICtrlSetOnEvent($cmConfiguredClientRefresh, "_GUIEventHandler") GUICtrlSetOnEvent($btnRemoteControlEdit, "_GUIEventHandler") GUICtrlSetOnEvent($btnRemoteControlAdd, "_GUIEventHandler") GUICtrlSetOnEvent($btnRemoteControlRemove, "_GUIEventHandler") GUISetOnEvent($GUI_EVENT_CLOSE, "_SysEventHandler", $hPreferencesGUI) GUISetState(@SW_SHOW, $hPreferencesGUI) ;$sIPLength = True ;For $x = 0 To 4 ; If StringLen(GUICtrlRead($ibIPFilter[$x])) == 0 Then ; $sIPLength = False ; If ControlCommand($hPreferencesGUI, "", $btnAddIPFilter, "IsEnabled", "") Then GUICtrlSetState($btnAddIPFilter, $GUI_DISABLE) ; ExitLoop ; EndIf ;Next ;If $sIPLength And Not ControlCommand($hPreferencesGUI, "", $btnAddIPFilter, "IsEnabled", "") Then GUICtrlSetState($btnAddIPFilter, $GUI_ENABLE) EndFunc ; ==> _PreferencesGUI #EndRegion --- Preferences GUI #Region --- Preferences Functions --- Func _CreateINI() If Not FileExists($sRASINI) Then Local $CreateINI = FileOpen($sRASINI, 2) Sleep(200) FileWrite($CreateINI, "[Data]" & @CRLF) FileWrite($CreateINI, "Version=" & $sVersion & @CRLF) FileWrite($CreateINI, "Build=" & $sBuild & @CRLF & @CRLF) FileWrite($CreateINI, "[User]" & @CRLF) FileWrite($CreateINI, "LaunchOnStartup=False" & @CRLF) FileWrite($CreateINI, "CheckForUpdatesOnStart=False" & @CRLF) FileWrite($CreateINI, "SpecifyDefaultView=False" & @CRLF) FileWrite($CreateINI, "SpecifyDefaultViewCombo=List View" & @CRLF) FileWrite($CreateINI, "RefreshMachinesOnStart=False" & @CRLF) FileWrite($CreateINI, "RefreshMachinesFromList=False" & @CRLF) FileWrite($CreateINI, "RefreshMachinesList=" & @CRLF) FileWrite($CreateINI, "MinimizeToTray=True" & @CRLF) FileWrite($CreateINI, "ShowSplashScreenOnStart=True" & @CRLF) FileWrite($CreateINI, "EnableAnimations=False" & @CRLF) FileWrite($CreateINI, "MakeActiveWindowsTransparent=False" & @CRLF) FileWrite($CreateINI, "ActiveTransparencySlider=0" & @CRLF) FileWrite($CreateINI, "MakeInactiveWindowsTransparent=False" & @CRLF) FileWrite($CreateINI, "InactiveTransparencySlider=0" & @CRLF) FileWrite($CreateINI, "UsernameCredential=" & @CRLF) FileWrite($CreateINI, "PasswordCredential=" & @CRLF & @CRLF) FileWrite($CreateINI, "[Network]" & @CRLF) FileWrite($CreateINI, "DomainChoice=Use Current" & @CRLF) FileWrite($CreateINI, "Domain=" & @LogonDomain & @CRLF) FileWrite($CreateINI, "PingTimeOut=4" & @CRLF) FileWrite($CreateINI, "RetrieveMachinesUsingCombo=LDAP" & @CRLF) FileWrite($CreateINI, "RetrieveInformationUsingCombo=WMI" & @CRLF & @CRLF) FileWrite($CreateINI, "[Filters]" & @CRLF) FileWrite($CreateINI, "NameFilter=*" & @CRLF) FileWrite($CreateINI, "IPRangeFilter=" & @CRLF) FileWrite($CreateINI, "UseIPRangeInclusion=False" & @CRLF & @CRLF) FileWrite($CreateINI, "[Remote Control]" & @CRLF) FileWrite($CreateINI, "ClientName=" & @CRLF) FileWrite($CreateINI, "ClientExe=" & @CRLF) FileWrite($CreateINI, "CommandLine=" & @CRLF) FileWrite($CreateINI, "SetDefault=" & @CRLF) FileWrite($CreateINI, "SpecifyCredentials=" & @CRLF & @CRLF) FileWrite($CreateINI, "[Export]" & @CRLF) FileWrite($CreateINI, "ExportType=" & @CRLF) FileWrite($CreateINI, "SpecifyExportPath=False" & @CRLF) FileWrite($CreateINI, "ExportPath=" & @CRLF & @CRLF) FileWrite($CreateINI, "[Messaging]" & @CRLF) FileWrite($CreateINI, "MessageName=" & @CRLF) FileWrite($CreateINI, "MessageContents=" & @CRLF & @CRLF) FileWrite($CreateINI, "[Third Party]" & @CRLF & @CRLF) FileWrite($CreateINI, "[Plugins]" & @CRLF) FileClose($CreateINI) Else ; Do Nothing Endif EndFunc ; ==> _CreateINI Func _ReadINI() ; IniRead($sRASINI, "section", "key", "default") ; Data $VersionINI = IniRead($sRASINI, "Data", "Version", $sVersion) $BuildINI = IniRead($sRASINI, "Data", "Build", $sBuild) ; User $LaunchOnStartupINI = IniRead($sRASINI, "User", "LaunchOnStartup", "False") $CheckForUpdatesOnStartINI = IniRead($sRASINI, "User", "CheckForUpdatesOnStart", "False") $SpecifyDefaultViewINI = IniRead($sRASINI, "User", "SpecifyDefaultView", "False") $SpecifyDefaultViewComboINI = IniRead($sRASINI, "User", "SpecifyDefaultViewCombo", "List View") $RefreshMachinesOnStartINI = IniRead($sRASINI, "User", "RefreshMachinesOnStart", "False") $RefreshMachinesFromListINI = IniRead($sRASINI, "User", "RefreshMachinesFromList", "False") $RefreshMachinesListINI = IniRead($sRASINI, "User", "RefreshMachinesList", "") $MinimizeToTrayINI = IniRead($sRASINI, "User", "MinimizeToTray", "False") $ShowSplashScreenOnStartINI = IniRead($sRASINI, "User", "ShowSplashScreenOnStart", "True") $EnableAnimationsINI = IniRead($sRASINI, "User", "EnableAnimations", "False") $MakeActiveWindowsTransparentINI = IniRead($sRASINI, "User", "MakeActiveWindowsTransparent", "False") $ActiveTransparencySliderINI = IniRead($sRASINI, "User", "ActiveTransparencySlider", "0") $MakeInactiveWindowsTransparentINI = IniRead($sRASINI, "User", "MakeInactiveWindowsTransparent", "False") $InactiveTransparencySliderINI = IniRead($sRASINI, "User", "InactiveTransparencySlider", "0") $UsernameCredentialINI = IniRead($sRASINI, "User", "UsernameCredential", "") $PasswordCredentialINI = IniRead($sRASINI, "User", "PasswordCredential", "") ; Network $DomainChoiceINI = IniRead($sRASINI, "Network", "DomainChoice", "Use Current") $DomainINI = IniRead($sRASINI, "Network", "Domain", @LogonDomain) $PingTimeOutINI = IniRead($sRASINI, "Network", "PingTimeOut", "4") $RetrieveMachinesUsingComboINI = IniRead($sRASINI, "Network", "RetrieveMachinesUsingCombo", "LDAP") $RetrieveInformationUsingComboINI = IniRead($sRASINI, "Network", "RetrieveInformationUsingCombo", "WMI") ; Filters $NameFilterINI = IniRead($sRASINI, "Filters", "NameFilter", "*") $IPRangeFilterINI = IniRead($sRASINI, "Filters", "IPRangeFilter", "") $UseIPRangeInclusionINI = IniRead($sRASINI, "Filters", "UseIPRangeInclusion", "False") ; Remote Control $ClientNameINI = IniRead($sRASINI, "Remote Control", "ClientName", "") $ClientExeINI = IniRead($sRASINI, "Remote Control", "ClientExe", "") $CommandLineINI = IniRead($sRASINI, "Remote Control", "CommandLine", "") $SetDefaultINI = IniRead($sRASINI, "Remote Control", "SetDefault", "") $SpecifyCredentialsINI = IniRead($sRASINI, "Remote Control", "SpecifyCredentials", "") ; Export $ExportTypeINI = IniRead($sRASINI, "Export", "ExportType", "") $SpecifyExportPathINI = IniRead($sRASINI, "Export", "SpecifyExportPath", "False") $ExportPathINI = IniRead($sRASINI, "Export", "ExportPath", "") ; Messaging $MessageNameINI = IniRead($sRASINI, "Messaging", "MessageName", "") $MessageContentsINI = IniRead($sRASINI, "Messaging", "MessageContents", "") ; Third Party ; Plugins EndFunc ; ==> _ReadINI Func _WriteINI() ;IniWrite($sRASINI, "section", "key", "value") ;IniWrite(@ScriptDir & '\Settings.ini', "Export", "Program", "Text") ; IniRead($sRASINI, "section", "key", "default") ; User If BitAND(GUICtrlRead($cbxLaunchOnStartup), $GUI_CHECKED) Then IniWrite($sRASINI, "User", "LaunchOnStartup", "True") ConsoleWrite("True" & @LF) Else IniWrite($sRASINI, "User", "LaunchOnStartup", "False") Endif If BitAND(GUICtrlRead($cbxCheckForUpdates), $GUI_CHECKED) Then IniWrite($sRASINI, "User", "CheckForUpdatesOnStart", "True") ConsoleWrite("True" & @LF) Else IniWrite($sRASINI, "User", "CheckForUpdatesOnStart", "False") Endif If BitAND(GUICtrlRead($cbxSpecifyDefaultView), $GUI_CHECKED) Then IniWrite($sRASINI, "User", "SpecifyDefaultView", "True") ConsoleWrite("True" & @LF) Else IniWrite($sRASINI, "User", "SpecifyDefaultView", "False") Endif If GUICtrlRead($cmbDefaultView) = "List View" Then IniWrite($sRASINI, "User", "SpecifyDefaultViewCombo", "List View") Else IniWrite($sRASINI, "User", "SpecifyDefaultViewCombo", "Domain View") Endif If BitAND(GUICtrlRead($cbxRefreshOnStart), $GUI_CHECKED) Then IniWrite($sRASINI, "User", "RefreshMachinesOnStart", "True") Else IniWrite($sRASINI, "User", "RefreshMachinesOnStart", "False") Endif If BitAND(GUICtrlRead($cbxRefreshFromList), $GUI_CHECKED) Then IniWrite($sRASINI, "User", "RefreshMachinesFromList", "True") Else IniWrite($sRASINI, "User", "RefreshMachinesFromList", "False") Endif If GUICtrlRead($ibMachineListPath) <> "" Then IniWrite($sRASINI, "User", "RefreshMachinesList", GUICtrlRead($ibMachineListPath)) Else IniWrite($sRASINI, "User", "RefreshMachinesList", "") Endif If BitAND(GUICtrlRead($cbxMinimizeToTray), $GUI_CHECKED) Then IniWrite($sRASINI, "User", "MinimizeToTray", "True") Else IniWrite($sRASINI, "User", "MinimizeToTray", "False") Endif If BitAND(GUICtrlRead($cbxShowSplashScreen), $GUI_CHECKED) Then IniWrite($sRASINI, "User", "ShowSplashScreenOnStart", "True") Else IniWrite($sRASINI, "User", "ShowSplashScreenOnStart", "False") Endif If BitAND(GUICtrlRead($cbxEnableAnimations), $GUI_CHECKED) Then IniWrite($sRASINI, "User", "EnableAnimations", "True") Else IniWrite($sRASINI, "User", "EnableAnimations", "False") Endif If BitAND(GUICtrlRead($cbxMakeActiveTransparent), $GUI_CHECKED) Then IniWrite($sRASINI, "User", "MakeActiveWindowsTransparent", "True") Else IniWrite($sRASINI, "User", "MakeActiveWindowsTransparent", "False") Endif If GUICtrlRead($sldActiveWindowTransparency) <> 0 Then IniWrite($sRASINI, "User", "ActiveTransparencySlider", GUICtrlRead($sldActiveWindowTransparency)) Else IniWrite($sRASINI, "User", "ActiveTransparencySlider", "0") Endif If BitAND(GUICtrlRead($cbxMakeInactiveTransparent), $GUI_CHECKED) Then IniWrite($sRASINI, "User", "MakeInactiveWindowsTransparent", "True") Else IniWrite($sRASINI, "User", "MakeInactiveWindowsTransparent", "False") Endif If GUICtrlRead($sldInactiveWindowTransparency) <> 0 Then IniWrite($sRASINI, "User", "InactiveTransparencySlider", GUICtrlRead($sldInactiveWindowTransparency)) Else IniWrite($sRASINI, "User", "InactiveTransparencySlider", "0") Endif If GUICtrlRead($ibUsername) <> "" Then IniWrite($sRASINI, "User", "UsernameCredential", GUICtrlRead($ibUsername)) Else IniWrite($sRASINI, "User", "UsernameCredential", "") Endif If GUICtrlRead($ibPassword) <> "" Then IniWrite($sRASINI, "User", "PasswordCredential", GUICtrlRead($ibPassword)) Else IniWrite($sRASINI, "User", "PasswordCredential", "") Endif ; Network If BitAND(GUICtrlRead($radUseCurrentDomain), $GUI_CHECKED) Then IniWrite($sRASINI, "Network", "DomainChoice", "Use Current") Else IniWrite($sRASINI, "Network", "DomainChoice", "Specify") Endif If GUICtrlRead($ibDomainInput) <> "" Then IniWrite($sRASINI, "Network", "Domain", GUICtrlRead($ibDomainInput)) Else IniWrite($sRASINI, "Network", "Domain", @LogonDomain) Endif If GUICtrlRead($ibTimeoutInput) <> "" Then IniWrite($sRASINI, "Network", "PingTimeOut", GUICtrlRead($ibTimeoutInput)) Else IniWrite($sRASINI, "Network", "PingTimeOut", "4") Endif If GUICtrlRead($cmbRetrieveMachinesUsing) = "LDAP" Then IniWrite($sRASINI, "Network", "RetrieveMachinesUsingCombo", "LDAP") Else IniWrite($sRASINI, "Network", "RetrieveMachinesUsingCombo", "NetView") Endif If GUICtrlRead($cmbRetrieveInformationUsing) = "WMI" Then IniWrite($sRASINI, "Network", "RetrieveInformationUsingCombo", "WMI") Else IniWrite($sRASINI, "Network", "RetrieveInformationUsingCombo", "Registry") Endif ; If BitAND(GUICtrlRead($cbxCheckForUpdates), $GUI_CHECKED) Then ; IniWrite($sRASINI, "Network", "CheckForUpdatesOnStart", "True") ; Else ; IniWrite($sRASINI, "Network", "CheckForUpdatesOnStart", "False") ; Endif ; ; If BitAND(GUICtrlRead($cbxCheckForUpdates), $GUI_CHECKED) Then ; IniWrite($sRASINI, "Network", "CheckForUpdatesOnStart", "True") ; Else ; IniWrite($sRASINI, "Network", "CheckForUpdatesOnStart", "False") ; Endif ; ; Filters If _GUICtrlListViewGetItemCount ($lvNameFilter) > 0 Then $sNameFilter = "" For $x = 0 To _GUICtrlListViewGetItemCount ($lvNameFilter) - 1 $sNameFilter = $sNameFilter & "|" & _GUICtrlListViewGetItemText ($lvNameFilter, $x, 0) Next $sNameFilter = StringTrimLeft($sNameFilter, 1) IniWrite($sRASINI, "Filters", "NameFilter", $sNameFilter) EndIf ; ; Remote Control ; IniWrite($sRASINI, "Remote Control", "ClientName", "") ; IniWrite($sRASINI, "Remote Control", "ClientExe", "") ; IniWrite($sRASINI, "Remote Control", "CommandLine", "") ; IniWrite($sRASINI, "Remote Control", "SetDefault", "") ; IniWrite($sRASINI, "Remote Control", "SpecifyCredentials", "") ; ; ; Export ; IniWrite($sRASINI, "Export", "ExportType", "") ; IniWrite($sRASINI, "Export", "SpecifyExportPath", "False") ; IniWrite($sRASINI, "Export", "ExportPath", "") ; ; ; Messaging ; IniWrite($sRASINI, "Messaging", "MessageName", "") ; IniWrite($sRASINI, "Messaging", "MessageContents", "") ; ; ; Third Party ; ; ; Plugins EndFunc ; ==> _WriteINI Func _LoadINI() ; User If $LaunchOnStartupINI = "True" Then GUICtrlSetState($cbxLaunchOnStartup, $GUI_CHECKED) RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run","RAS", "REG_SZ", FileGetShortName(@ScriptFullPath)) ElseIf $LaunchOnStartupINI = "False" Then GUICtrlSetState($cbxLaunchOnStartup, $GUI_UNCHECKED) RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run","RAS") Else GUICtrlSetState($cbxLaunchOnStartup, $GUI_UNCHECKED) IniWrite($sRASINI, "User", "LaunchOnStartup", "False") EndIf If $CheckForUpdatesOnStartINI = "True" Then GUICtrlSetState($cbxCheckForUpdates, $GUI_CHECKED) ElseIf $CheckForUpdatesOnStartINI = "False" Then GUICtrlSetState($cbxCheckForUpdates, $GUI_UNCHECKED) ; Do Nothing Else GUICtrlSetState($cbxCheckForUpdates, $GUI_UNCHECKED) IniWrite($sRASINI, "User", "CheckForUpdatesOnStart", "False") EndIf If $SpecifyDefaultViewINI = "True" Then GUICtrlSetState($cbxSpecifyDefaultView, $GUI_CHECKED) GUICtrlSetState($cmbDefaultView, $GUI_ENABLE) If $SpecifyDefaultViewComboINI = "List View" Then GUICtrlSetData($cmbDefaultView, "List View", "List View") GUICtrlSetState($cListViewTab, $GUI_SHOW) ElseIf $SpecifyDefaultViewComboINI = "Domain View" Then GUICtrlSetData($cmbDefaultView, "Domain View", "List View") GUICtrlSetState($cDomainViewTab, $GUI_SHOW) Else IniWrite($sRASINI, "User", "SpecifyDefaultViewCombo", "List View") GUICtrlSetData($cmbDefaultView, "List View", "List View") GUICtrlSetState($cListViewTab, $GUI_SHOW) EndIf ElseIf $SpecifyDefaultViewINI = "False" Then GUICtrlSetState($cbxSpecifyDefaultView, $GUI_UNCHECKED) GUICtrlSetState($cmbDefaultView, $GUI_DISABLE) ; Do Nothing Else GUICtrlSetState($cbxSpecifyDefaultView, $GUI_UNCHECKED) GUICtrlSetState($cmbDefaultView, $GUI_DISABLE) IniWrite($sRASINI, "User", "SpecifyDefaultView", "False") EndIf If $RefreshMachinesOnStartINI = "True" Then GUICtrlSetState($cbxRefreshOnStart, $GUI_CHECKED) ElseIf $RefreshMachinesOnStartINI = "False" Then GUICtrlSetState($cbxRefreshOnStart, $GUI_UNCHECKED) ; Do Nothing Else GUICtrlSetState($cbxRefreshOnStart, $GUI_UNCHECKED) IniWrite($sRASINI, "User", "RefreshMachinesOnStart", "False") EndIf If $RefreshMachinesFromListINI = "True" Then GUICtrlSetState($cbxRefreshFromList, $GUI_CHECKED) GUICtrlSetState($btnRefreshFromListBrowse, $GUI_ENABLE) If $RefreshMachinesListINI = "" Then ; Prompt For List ElseIf $RefreshMachinesListINI <> "" Then ; Refresh Machine List Else IniWrite($sRASINI, "User", "RefreshMachinesList", "") ; GUICtrlSetData($cmbDefaultView, "List View", "List View") EndIf ElseIf $RefreshMachinesFromListINI = "False" Then GUICtrlSetState($cbxRefreshFromList, $GUI_UNCHECKED) GUICtrlSetState($btnRefreshFromListBrowse, $GUI_DISABLE) ; Do Nothing Else GUICtrlSetState($cbxRefreshFromList, $GUI_UNCHECKED) GUICtrlSetState($btnRefreshFromListBrowse, $GUI_DISABLE) IniWrite($sRASINI, "User", "RefreshMachinesFromList", "False") EndIf If $MinimizeToTrayINI = "True" Then GUICtrlSetState($cbxMinimizeToTray, $GUI_CHECKED) TraySetOnEvent($TRAY_EVENT_PRIMARYUP,"_MaximizeFromTray") ElseIf $MinimizeToTrayINI = "False" Then GUICtrlSetState($cbxMinimizeToTray, $GUI_UNCHECKED) ; Do Nothing Else GUICtrlSetState($cbxMinimizeToTray, $GUI_UNCHECKED) IniWrite($sRASINI, "User", "MinimizeToTray", "True") EndIf If $ShowSplashScreenOnStartINI = "True" Then GUICtrlSetState($cbxShowSplashScreen, $GUI_CHECKED) ElseIf $ShowSplashScreenOnStartINI = "False" Then GUICtrlSetState($cbxShowSplashScreen, $GUI_UNCHECKED) ; Do Nothing Else GUICtrlSetState($cbxShowSplashScreen, $GUI_UNCHECKED) IniWrite($sRASINI, "User", "ShowSplashScreenOnStart", "False") EndIf If $EnableAnimationsINI = "True" Then GUICtrlSetState($cbxEnableAnimations, $GUI_CHECKED) ElseIf $EnableAnimationsINI = "False" Then GUICtrlSetState($cbxEnableAnimations, $GUI_UNCHECKED) ; Do Nothing Else GUICtrlSetState($cbxEnableAnimations, $GUI_UNCHECKED) IniWrite($sRASINI, "User", "EnableAnimations", "False") EndIf If $MakeActiveWindowsTransparentINI = "True" Then GUICtrlSetState($cbxMakeActiveTransparent, $GUI_CHECKED) GUICtrlSetState($lblActiveOpaque, $GUI_ENABLE) GUICtrlSetState($lblActiveTransparent, $GUI_ENABLE) GUICtrlSetState($sldActiveWindowTransparency, $GUI_ENABLE) If $ActiveTransparencySliderINI <> 0 Then GUICtrlSetData($sldActiveWindowTransparency, $ActiveTransparencySliderINI) $sActiveTransparency = GUICtrlRead($sldActiveWindowTransparency) $sActualActiveTransparency = 305-$sActiveTransparency GUICtrlSetTip($sldActiveWindowTransparency, 305-$sActiveTransparency) WinSetTrans(@GUI_WinHandle, "", $sActualActiveTransparency) EndIf ElseIf $MakeActiveWindowsTransparentINI = "False" Then GUICtrlSetState($cbxMakeActiveTransparent, $GUI_UNCHECKED) GUICtrlSetState($lblActiveOpaque, $GUI_DISABLE) GUICtrlSetState($lblActiveTransparent, $GUI_DISABLE) GUICtrlSetState($sldActiveWindowTransparency, $GUI_DISABLE) ; Do Nothing Else GUICtrlSetState($cbxMakeActiveTransparent, $GUI_UNCHECKED) GUICtrlSetState($lblActiveOpaque, $GUI_DISABLE) GUICtrlSetState($lblActiveTransparent, $GUI_DISABLE) GUICtrlSetState($sldActiveWindowTransparency, $GUI_DISABLE) IniWrite($sRASINI, "User", "MakeActiveWindowsTransparent", "False") EndIf If $MakeInactiveWindowsTransparentINI = "True" Then GUICtrlSetState($cbxMakeInactiveTransparent, $GUI_CHECKED) GUICtrlSetState($lblInactiveOpaque, $GUI_ENABLE) GUICtrlSetState($lblInactiveTransparent, $GUI_ENABLE) GUICtrlSetState($sldInactiveWindowTransparency, $GUI_ENABLE) If $InactiveTransparencySliderINI <> 0 Then GUICtrlSetData($sldInactiveWindowTransparency, $InactiveTransparencySliderINI) $sInactiveTransparency = GUICtrlRead($sldInactiveWindowTransparency) $sActualInactiveTransparency = 305-$sInactiveTransparency GUICtrlSetTip($sldActiveWindowTransparency, 305-$sActiveTransparency) WinSetTrans(@GUI_WinHandle, "", $sActualInactiveTransparency) EndIf ElseIf $MakeInactiveWindowsTransparentINI = "False" Then GUICtrlSetState($cbxMakeInactiveTransparent, $GUI_UNCHECKED) GUICtrlSetState($lblInactiveOpaque, $GUI_DISABLE) GUICtrlSetState($lblInactiveTransparent, $GUI_DISABLE) GUICtrlSetState($sldInactiveWindowTransparency, $GUI_DISABLE) ; Do Nothing Else GUICtrlSetState($cbxMakeInactiveTransparent, $GUI_UNCHECKED) GUICtrlSetState($lblInactiveOpaque, $GUI_DISABLE) GUICtrlSetState($lblInactiveTransparent, $GUI_DISABLE) GUICtrlSetState($sldInactiveWindowTransparency, $GUI_DISABLE) IniWrite($sRASINI, "User", "MakeInactiveWindowsTransparent", "False") EndIf If $UsernameCredentialINI <> "" Then GUICtrlSetData($ibUsername, $UsernameCredentialINI) ElseIf $UsernameCredentialINI = "" Then GUICtrlSetData($ibUsername, $UsernameCredentialINI) ; Do Nothing Else GUICtrlSetData($ibUsername, "") IniWrite($sRASINI, "User", "UsernameCredential", "") EndIf If $PasswordCredentialINI <> "" Then GUICtrlSetData($ibPassword, $PasswordCredentialINI) ElseIf $PasswordCredentialINI = "" Then GUICtrlSetData($ibPassword, $PasswordCredentialINI) ; Do Nothing Else GUICtrlSetData($ibPassword, "") IniWrite($sRASINI, "User", "PasswordCredential", "") EndIf ; Network If $DomainChoiceINI = "Use Current" Then GUICtrlSetState($radUseCurrentDomain, $GUI_CHECKED) GUICtrlSetState($ibDomainInput, $GUI_DISABLE) If @LogonDomain = @ComputerName Then $CurrentDomain = InputBox(16+4, $sTitle, "This computer is not currently a member of any domain." & @CRLF & "Please type the name of the currently joined Workgroup below.") Else $CurrentDomain = @LogonDomain Endif GUICtrlSetData($ibDomainInput, $CurrentDomain) If $DomainINI <> $CurrentDomain Then IniWrite($sRASINI, "Network", "Domain", $CurrentDomain) EndIf ElseIf $DomainChoiceINI = "Specify" Then GUICtrlSetState($radSpecifyDomain, $GUI_CHECKED) GUICtrlSetState($ibDomainInput, $GUI_ENABLE) GUICtrlSetData($ibDomainInput, "") If $DomainINI = "" Then GUICtrlSetState($radUseCurrentDomain, $GUI_CHECKED) IniWrite($sRASINI, "Network", "DomainChoice", "Use Current") ; Prompt for domain? ElseIf $DomainINI <> "" Then GUICtrlSetData($ibDomainInput, $DomainINI) EndIf Else GUICtrlSetState($radUseCurrentDomain, $GUI_CHECKED) IniWrite($sRASINI, "Network", "DomainChoice", "Use Current") EndIf If $PingTimeOutINI <> "" Then GUICtrlSetData($ibTimeoutInput, $PingTimeOutINI) ElseIf $PingTimeOutINI = "" Then GUICtrlSetData($ibTimeoutInput, "4") ; Do Nothing Else GUICtrlSetData($PingTimeOutINI, "4") IniWrite($sRASINI, "Network", "PingTimeOut", "4") EndIf If $RetrieveMachinesUsingComboINI = "LDAP" Then GUICtrlSetData($cmbRetrieveMachinesUsing, "LDAP") ElseIf $RetrieveMachinesUsingComboINI = "NetView" Then GUICtrlSetData($cmbRetrieveMachinesUsing, "NetView") Else GUICtrlSetData($cmbRetrieveMachinesUsing, "LDAP") IniWrite($sRASINI, "Network", "RetrieveMachinesUsingCombo", "LDAP") EndIf If $RetrieveInformationUsingComboINI = "WMI" Then GUICtrlSetData($cmbRetrieveInformationUsing, "WMI") ElseIf $RetrieveInformationUsingComboINI = "Registry" Then GUICtrlSetData($cmbRetrieveInformationUsing, "Registry") Else GUICtrlSetData($cmbRetrieveInformationUsing, "WMI") IniWrite($sRASINI, "Network", "RetrieveInformationUsingCombo", "WMI") EndIf ; Filters If $NameFilterINI = "" Then IniWrite($sRASINI, "Filters", "NameFilter", "*") $NameFilterINI = StringSplit($NameFilterINI, "|") For $x = 1 To $NameFilterINI[0] GUICtrlCreateListViewItem($NameFilterINI[$x], $lvNameFilter) Next Else $NameFilterINI = StringSplit($NameFilterINI, "|") For $x = 1 To $NameFilterINI[0] GUICtrlCreateListViewItem($NameFilterINI[$x], $lvNameFilter) Next Endif ; $a_Filter = StringSplit($s_Filter, "|") ; For $x = 1 To $a_Filter[0] ; GUICtrlCreateListViewItem($a_Filter[$x], $lv_filters) ; Next ; $IPRangeFilterINI = IniRead($sRASINI, "Filters", "IPRangeFilter", "") ; $UseIPRangeInclusionINI = IniRead($sRASINI, "Filters", "UseIPRangeInclusion", "False") ; IPRangeFilter= ; UseIPRangeInclusion= ; Remote Control ; $ClientNameINI = IniRead($sRASINI, "Remote Control", "ClientName", "") ; $ClientExeINI = IniRead($sRASINI, "Remote Control", "ClientExe", "") ; $CommandLineINI = IniRead($sRASINI, "Remote Control", "CommandLine", "") ; $SetDefaultINI = IniRead($sRASINI, "Remote Control", "SetDefault", "") ; $SpecifyCredentialsINI = IniRead($sRASINI, "Remote Control", "SpecifyCredentials", "") ; ; Export ; $ExportTypeINI = IniRead($sRASINI, "Export", "ExportType", "") ; $SpecifyExportPathINI = IniRead($sRASINI, "Export", "SpecifyExportPath", "False") ; $ExportPathINI = IniRead($sRASINI, "Export", "ExportPath", "") ; ; Messaging ; $MessageNameINI = IniRead($sRASINI, "Messaging", "MessageName", "") ; $MessageContentsINI = IniRead($sRASINI, "Messaging", "MessageContents", "") ; ; Third Party ; ; Plugins #Region --- Network Controls --- ; $cmbRetrieveUsing ; $cmbRetrieveUsingData ; $ibTimeoutInput ; $cmbRetrieveMachinesUsing ; $cmbRetrieveMachinesUsingData ; $cmbRetrieveInformationUsing ; $cmbRetrieveInformationUsingData ; ; #Region --- Filters --- ; ; $ibNameFilter, $btnAddNameFilter, $btnRemoveNameFilter, $lvNameFilter, $btnAddIPFilter, $btnRemoveIPFilter, $lvIPFilter, $cbxInclusionFilter ; ; #EndRegion --- Filters --- #EndRegion --- Network Controls --- ; ; #Region --- Remote Controls --- ; ; Global $tvRemoteControlItem, $grpRemoteControlNote, $lblRemoteControlInstructions, $lvConfiguredClient, $cmConfiguredClient, $cmConfiguredClientRefresh, _ ; ; $cmConfiguredClientRefresh, $cmConfiguredClientEdit, $cmConfiguredClientAdd, $cmConfiguredClientRemove, $btnRemoteControlEdit, $btnRemoteControlAdd, _ ; ; $btnRemoteControlRemove, $cmConfiguredClientSetDefault, $btnClientBrowse ; #EndRegion --- Remote Controls --- ; ; #Region --- Export Controls --- ; ; #EndRegion --- Export Controls --- ; ; #Region --- Tools Controls --- ; ; Global $tvToolsItem, $tvMessagingItem, $lvConfiguredMessage, $cmConfiguredMessage, $cmConfiguredMessageRefresh, $cmConfiguredMessageEdit, $cmConfiguredMessageAdd, _ ; ; $cmConfiguredMessageRemove, $btnMessageEdit, $btnMessageAdd, $btnMessageRemove, $tvThirdPartyItem, $tvPluginsItem ; #EndRegion --- Tools Controls --- ; ; #Region --- Pathing Controls --- ; ; #EndRegion --- Pathing Controls --- ; IniRead($sRASINI, "section", "key", "default") EndFunc ; ==> _LoadINI #EndRegion --- Preferences Functions --- #Region --- Remote Control Client GUI Func _RemoteControlConfigureClientGUI() GUISetState(@SW_DISABLE, $hPreferencesGUI) Local $lblClientName, $lblClientExe, $lblCommandLine $hRemoteControlConfigureClientGUI = GUICreate("Configure Client", 213, 200, -1, -1, BitOr($WS_CHILD, $WS_POPUPWINDOW), BitOr($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST)) GUISetIcon($sRASUIDLL, 95, $hRemoteControlConfigureClientGUI) $btnRCOK = GUICtrlCreateButton('OK', 84, 177, 40, 20) $btnRCCancel = GUICtrlCreateButton('Cancel', 127, 177, 40, 20) $btnRCHelp = GUICtrlCreateButton('Help', 170, 177, 40, 20) $lblClientName = GUICtrlCreateLabel('Client Name', 3, 3, 80, 20) $ibClientName = GUICtrlCreateInput('', 3, 18, 185, 20, $ES_AUTOHSCROLL) $lblClientExe = GUICtrlCreateLabel('Client Executable', 3, 40, 120, 20) $ibClientExe = GUICtrlCreateInput('', 3, 55, 185, 20, BitOr($ES_AUTOHSCROLL, $ES_OEMCONVERT)) $btnRCClientBrowse = GUICtrlCreateButton('...', 190, 55, 20, 20) GUICtrlSetTip($btnClientBrowse, "Browse") $lblCommandLine = GUICtrlCreateLabel('Command Line Parameters', 3, 77, 160, 20) $ibCommandLine = GUICtrlCreateInput('',3, 92, 185, 20, $ES_AUTOHSCROLL) $cbxMakeDefault = GUICtrlCreateCheckbox('Set As Default Client', 3, 113, 130, 20) $cbxSpecifyCredentials = GUICtrlCreateCheckbox('Specify Credentials', 3, 130, 130, 20) GUICtrlSetOnEvent($btnRCOK, "_GUIEventHandler") GUICtrlSetOnEvent($btnRCCancel, "_GUIEventHandler") GUICtrlSetOnEvent($btnRCHelp, "_GUIEventHandler") GUICtrlSetOnEvent($btnRCClientBrowse, "_GUIEventHandler") GUISetOnEvent($btnRCCancel, "_SysEventHandler", $hRemoteControlConfigureClientGUI) GuiSetState() EndFunc ; ==> _RemoteControlConfigureClientGUI #EndRegion --- Remote Control Client GUI #Region --- Find Machine Functions --- Func _FindMachineGUI() If WinActive($sTitle) Then ; Ensure the user is pressing ESC for the Administration Tool and not for some other program that is open GUISetState(@SW_DISABLE, $hGUI) GUISetState(@SW_DISABLE, $cInformationTab) $hFindMachineGUI = GUICreate("Find Machine", 176, 50, -1, -1, -1, BitOr($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST)) GUISetIcon($sRASUIDLL, 160, $hFindMachineGUI) $ibFind = GUICtrlCreateInput('', 3, 3, 125, 20, BitOr($ES_AUTOHSCROLL, $ES_UPPERCASE)) $btnFMFind = GUICtrlCreateButton('', 130, 3, 20, 20, BitOr($BS_DEFPUSHBUTTON, $BS_ICON)) GUICtrlSetTip($btnFMFind, 'Find') GUICtrlSetImage($btnFMFind, $sRASUIDLL, 160, 0) $btnFMClose = GUICtrlCreateButton('', 153, 3, 20, 20, $BS_ICON) GUICtrlSetTip($btnFMClose, 'Close') GUICtrlSetImage($btnFMClose, $sRASUIDLL, 150, 0) $ckbMatchWholeWord = GUICtrlCreateCheckbox('Match Whole Word Only', 3, 26) ;Set Events GUICtrlSetOnEvent($btnFMFind, "_GUIEventHandler") GUICtrlSetOnEvent($btnFMClose, "_GUIEventHandler") GUISetOnEvent($GUI_EVENT_CLOSE, "_SysEventHandler", $hFindMachineGUI) GuiSetState() Else HotKeySet("^f") Send("^f") HotKeySet("^f", "_FindMachineGUI") ; Open Find GUI Endif EndFunc ; ==> _FindMachineGUI Func _FindMachine() Local $sFindMachineName = GUICtrlRead($ibFind), $sFoundMachine = 0, $x _Wait() If _GUICtrlListViewGetCurSel ($lvMachines) <> $LV_ERR And _GUICtrlListViewGetCurSel ($lvMachines) <> _GUICtrlListViewGetItemCount ($lvMachines) - 1 Then For $x = _GUICtrlListViewGetCurSel ($lvMachines) + 1 To _GUICtrlListViewGetItemCount ($lvMachines) - 1 If StringInStr(_GUICtrlListViewGetItemText ($lvMachines, $x, 0), $sFindMachineName) Then ; GUICtrlSetState($lvMachines, $GUI_FOCUS) _GUICtrlListViewScroll ($lvMachines, 0, (_GUICtrlListViewGetItemCount ($lvMachines) * 17) * - 1) _GUICtrlListViewScroll ($lvMachines, 0, $x * 17) _GUICtrlListViewSetItemSelState ($lvMachines, $x) $sFoundMachine = 1 ExitLoop EndIf Next If Not $sFoundMachine Then For $x = 0 To _GUICtrlListViewGetCurSel ($lvMachines) If StringInStr(_GUICtrlListViewGetItemText ($lvMachines, $x, 0), $sFindMachineName) Then ; GUICtrlSetState($lvMachines, $GUI_FOCUS) _GUICtrlListViewScroll ($lvMachines, 0, (_GUICtrlListViewGetItemCount ($lvMachines) * 17) * - 1) _GUICtrlListViewScroll ($lvMachines, 0, $x * 17) _GUICtrlListViewSetItemSelState ($lvMachines, $x) $sFoundMachine = 1 ExitLoop EndIf Next EndIf Else For $x = 0 To _GUICtrlListViewGetItemCount ($lvMachines) - 1 If StringInStr(_GUICtrlListViewGetItemText ($lvMachines, $x, 0), $sFindMachineName) Then ; GUICtrlSetState($lvMachines, $GUI_FOCUS) _GUICtrlListViewScroll ($lvMachines, 0, (_GUICtrlListViewGetItemCount ($lvMachines) * 17) * - 1) _GUICtrlListViewScroll ($lvMachines, 0, $x * 17) _GUICtrlListViewSetItemSelState ($lvMachines, $x) $sFoundMachine = 1 ExitLoop EndIf Next EndIf _ResetWait() ; $ckbMatchWholeWord If Not $sFoundMachine Then _GUICtrlStatusBarSetText($cStatusBar, "'" & $sFindMachineName & "' could not be found.", 0) ; Machine could not be found _GUICtrlStatusBarReset($cStatusBar) Else _GUICtrlStatusBarReset($cStatusBar) EndIf EndFunc ; ==> _FindMachine #EndRegion --- Find Machine Functions --- #Region --- Help Functions --- Func _HelpGUI() If WinActive($sTitle) Or WinActive($sTitle & " Preferences") Or WinActive("Configure Client")Then ; Ensure the user is pressing ESC for the Administration Tool and not for some other program that is open If FileExists($sHelpFile) Then ; Msgbox(0, $sTitle, "Help called.") Run(@ComSpec & " /c " & $sHelpFile, "", @SW_HIDE) Else _GUICtrlStatusBarSetText($cStatusBar, "Unable To Locate Help File!", 0) ; Unable to locate help file _GUICtrlStatusBarReset($cStatusBar) Endif Else HotKeySet("{F1}") Send("{F1}") HotKeySet("{F1}", "_HelpGUI") Endif EndFunc ; ==> _HelpGUI #EndRegion --- Help Functions --- #Region --- About Functions --- Func _AboutGUI() GUISetState(@SW_DISABLE, $cInformationTab) GUISetState(@SW_DISABLE, $hGUI) Local $lblDevelopment = "Development:" Local $lblAuthor1 = "Gary Frost" Local $lblAuthorMailTo1 = "custompcs@charter.net" Local $lblAuthor2 = "Scott Forehand" Local $lblAuthorMailTo2 = "stforehand@gmail.com" Local $lblAuthor3 = "Jarvis Stubblefield" Local $lblAuthorMailTo3 = "support@vortexrevolutions.com" Local $lblTesting = "Testing:" Local $lblTester1 = "Shaun McConnell" Local $lblTester2 = "Kevin Whitaker" Local $lblTester3 = "Ian Siegert" $hAboutGUI = GUICreate ("About " & $sTitle, 300, 200, -1, -1, -1, BitOr($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST), BitOr($hGUI, $cInformationTab)) GUISetIcon($sRASUIDLL, 87, $hAboutGUI) ; Load Groups & Text GUICtrlCreateGroup ("", 5, 0, 290, 50) GUICtrlCreateIcon ($sRASUIDLL, -99, 10, 12, 30, 30) ; Icon 98 GUICtrlCreateLabel ($sTitle, 45, 12, 220) ; Display Application Title GUICtrlSetFont (-1, 10, 650) GUICtrlCreateLabel ("v" & $sVersion, 45, 29, 60, 15) ; Display Application Version GUICtrlCreateLabel ($sBuild, 70, 29, 60, 15) ; Display Application Build GUICtrlSetColor (-1,0xff0000) GUICtrlCreateLabel ("Copyright © 2005-2007", 5, 180, 120, 20) ; Display Copyright Message ; Load Buttons & Graphics $btnAOK = GUICtrlCreateButton ("OK", 235, 175, 60, 20) ; OK Button GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group GUICtrlCreateGroup ("", 5, 42, 290, 128) GUICtrlCreateLabel ($lblDevelopment, 10, 53) $hlAuthorMailTo1 = _GuiCtrlCreateHyperlink($lblAuthor1, 30, 70, StringLen($lblAuthor1) * 8, Default, 0x0000ff, 'E-Mail ' & $lblAuthorMailTo1 & " (comments/questions)") $hlAuthorMailTo2 = _GuiCtrlCreateHyperlink($lblAuthor2, 30, 85, StringLen($lblAuthor2) * 8, Default, 0x0000ff, 'E-Mail ' & $lblAuthorMailTo2 & " (comments/questions)") $hlAuthorMailTo3 = _GuiCtrlCreateHyperlink($lblAuthor3, 30, 100, StringLen($lblAuthor3) * 8, Default, 0x0000ff, 'E-Mail ' & $lblAuthorMailTo3 & " (comments/questions)") GUICtrlCreateLabel ($lblTesting, 150, 53) GUICtrlCreateLabel ($lblTester1, 170, 70) GUICtrlCreateLabel ($lblTester2, 170, 85) GUICtrlCreateLabel ($lblTester3, 170, 100) GUICtrlCreateGroup ("", -99, -99, 1, 1) ; Close Group ;Set GUI Events GUICtrlSetOnEvent($btnAOK, "_GUIEventHandler") GUICtrlSetOnEvent($hlAuthorMailTo1, "_GUIEventHandler") GUICtrlSetOnEvent($hlAuthorMailTo2, "_GUIEventHandler") GUICtrlSetOnEvent($hlAuthorMailTo3, "_GUIEventHandler") GUISetOnEvent($GUI_EVENT_CLOSE, "_SysEventHandler", $hAboutGUI) GuiSetState() EndFunc ; ==> _AboutGUI #EndRegion --- About Functions --- #Region --- GUI Functions --- Func _GUICtrlCreateTabChild($hMainHwnd, $iLeft, $iTop, $iWidth = -1, $iHeight = -1, $nStyle = 0x80000000, $nStyleEX = 0x00000040) Local $aControls[2] $aControls[0] = GUICreate('', $iWidth, $iHeight, $iLeft, $iTop, $nStyle, $nStyleEX, $hMainHwnd) $aControls[1] = GUICtrlCreateTab(0, 0, $iWidth, $iHeight, BitOr($TCS_HOTTRACK, $TCS_TOOLTIPS, $TCS_MULTILINE)) Return $aControls ; Returns an Array [0] = ChildHwnd [1] = Tab Control ID EndFunc Func _MinimizeToTray() GuiSetState(@SW_HIDE) TraySetState(1) ; Hide Program TrayTip($sTitle, "Click the tray icon to restore...", 5, 1) Sleep(1200) TrayTip("","",0) TraySetToolTip($sTitle) EndFunc ; ==> _MinimizeToTray Func _MaximizeFromTray() GuiSetState(@SW_SHOW) TraySetState(2) ; Show Program EndFunc ; ==> _MaximizeFromTray Func _GUICtrlFadeWindowIn($hTarget) DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hTarget, "int", 1000, "long", 0x00080000 ) ; Fade Window In EndFunc ; ==> _GUICtrlFadeWindowIn Func _GUICtrlFadeWindowOut($hTarget) DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $hTarget, "int", 1000, "long", 0x00090000 ) ; Fade Window Out Sleep(500) EndFunc ; ==> _GUICtrlFadeWindowOut Func _GUICtrlStatusBarReset($nStatusBar) Sleep(1000) _GUICtrlStatusBarSetText($nStatusBar, "", 0) _GUICtrlStatusBarSetText($nStatusBar, "", 1) EndFunc ; ==> _GUICtrlStatusBarReset Func _GuiCtrlStatusBarSetKeyboardStatus() Local $StatusArray = StringSplit(_GetKeyboardStatus(), "-") ; $StatusArray[1] = Num Lock Status ; $StatusArray[2] = Caps Lock Status ; $StatusArray[3] = Scroll Lock Status If $StatusArray[1] = 0 Then ; Num Lock Off _GUICtrlStatusBarSetText($cStatusBar, "", 3) Elseif $StatusArray[1] = 1 Then ; Num Lock On _GUICtrlStatusBarSetText($cStatusBar, "NUM", 3) Endif If $StatusArray[2] = 0 Then ; Caps Lock Off _GUICtrlStatusBarSetText($cStatusBar, "", 4) Elseif $StatusArray[2] = 1 Then ; Caps Lock On _GUICtrlStatusBarSetText($cStatusBar, "CAP", 4) Endif If $StatusArray[3] = 0 Then ; Scroll Lock Off _GUICtrlStatusBarSetText($cStatusBar, "", 5) Elseif $StatusArray[3] = 1 Then ; Scroll Lock On _GUICtrlStatusBarSetText($cStatusBar, "SCRL", 5) Endif EndFunc ; ==> _GuiCtrlStatusBarSetKeyboardStatus Func _GetKeyboardStatus() Const $VK_NUMLOCK = 0x90 Const $VK_SCROLL = 0x91 Const $VK_CAPITAL = 0x14 Local $ReturnNumLock, $ReturnCapsLock, $ReturnScrollLock $ReturnNumLock = DllCall("user32.dll","long","GetKeyState","long",$VK_NUMLOCK) $ReturnCapsLock = DllCall("user32.dll","long","GetKeyState","long",$VK_CAPITAL) $ReturnScrollLock = DllCall("user32.dll","long","GetKeyState","long",$VK_SCROLL) Return $ReturnNumLock[0] & "-" & $ReturnCapsLock[0] & "-" & $ReturnScrollLock[0] EndFunc ; ==> _GetKeyboardStatus Func _Wait() GUISetCursor($Cursor_WAIT, 1) _ProgressStart() EndFunc ; ==> _Wait Func _ResetWait() GUISetCursor($Cursor_ARROW, 1) _ProgressStop() _ReleaseMemory() EndFunc ; ==> _ResetWait Func _LockAndWait() ; GUISetState(@SW_LOCK) _ProgressStart() GUISetCursor($Cursor_WAIT, 1) GUISetState(@SW_DISABLE, $hGUI) GUISetState(@SW_DISABLE, $cInformationTab) EndFunc ; ==> _LockAndWait Func _ResetLockAndWait() ; GUISetState(@SW_UNLOCK) GUISetState(@SW_ENABLE, $hGUI) GUISetState(@SW_ENABLE, $cInformationTab) GUISetCursor($Cursor_ARROW, 1) _ProgressStop() _ReleaseMemory() EndFunc ; ==> _ResetLockAndWait Func _ReleaseMemory() Local $aiReturn = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1) Return $aiReturn[0] EndFunc ; ==> _ReleaseMemory Func _CheckWMI($sWMITarget) ; ; ; $objLoc = CreatexObject("WbemScripting.SWbemLocator") ; $objLoc.ConnectServer("winmgmts:\\" & $sWMITarget & "\root\CIMV2") ; If @Error Then ; ConsoleWrite("Unable to connect to WMI: " & @Error) ; Endif Local $Debug = 0 $svcWMI = ObjGet("winmgmts:\\" & $sWMITarget & "\root\CIMV2") If "" == $svcWMI Then If 1 == $Debug Then Return -1 Endif EndFunc ; ==> _CheckWMI Func _ProgressStart() _GUICtrlSetMarqueeProgress($cProgressBar, 1, 100) EndFunc ; ==> _ProgressStart Func _ProgressStop() _GUICtrlSetMarqueeProgress($cProgressBar, 0) EndFunc ; ==> _ProgressStop Func _StartRefresh() $nStopRefresh = "False" If WinActive($sTitle) Then ; Ensure the user is refreshing for the Remote Administration Suite and not for some other program that is open If $RefreshMachinesFromListINI = "True" Then ; Refresh From List _ImportMachineList($RefreshMachinesListINI) Else If Not $DomainINI = "" Then If $RetrieveMachinesUsingComboINI = "LDAP" Then ; Retrieve Method LDAP _RetrieveMachinesLDAP() Elseif $RetrieveMachinesUsingComboINI = "NetView" Then ; Retrieve Method NetView _RetrieveMachinesNetView() Else EndIf Else GUICtrlSetData($cStatusBar, "Invalid Domain: " & $DomainINI) Msgbox(16, $sTitle, "Invalid Domain: " & $DomainINI) Endif Endif _ReleaseMemory() Else HotKeySet("{F5}") Send("{F5}") HotKeySet("{F5}", "_StartRefresh") Endif EndFunc ; ==> _StartRefresh Func _StopRefresh() If $nStopRefresh <> "True" Then $nStopRefresh = "True" Msgbox(0, "", "Stop Refresh") Endif EndFunc ; ==> _StopRefresh Func _SetStatus() Local $sIndex = _GUICtrlListViewGetItemCount ($lvMachines) - 1 Local $sMachineName = _GUICtrlListViewGetItemText ($lvMachines, $sIndex, 0) Local $sDescription = _GUICtrlListViewGetItemText ($lvMachines, $sIndex, 2) Local $sIPAddress = '', $sPingTime If $PingTimeOutINI Then $sPingTime = Ping($sMachineName, $PingTimeOutINI) If $sPingTime Then Local $lvItem = _GUICtrlListViewGetItemText ($lvMachines, $sIndex, 3) $sIPAddress = TCPNameToIP($sMachineName) GUICtrlSetData($lvItem, $sMachineName & "|" & $sIPAddress & "|" & $sDescription & "|" & $lvItem) GUICtrlSetImage($lvItem, $sRASUIDLL, 138) ; Online Icon _ReleaseMemory() Return 1 Else Local $lvItem = _GUICtrlListViewGetItemText ($lvMachines, $sIndex, 3) Local $sIPAddress = "Offline", $sDescription = "" GUICtrlSetData($lvItem, $sMachineName & "|" & $sIPAddress & "|" & $sDescription & "|" & $lvItem) GUICtrlSetImage($lvItem, $sRASUIDLL, 169) ; Offline Icon EndIf Else Local $lvItem = _GUICtrlListViewGetItemText ($lvMachines, $sIndex, 3) $sIPAddress = TCPNameToIP($sMachineName) If $sIPAddress = "" Then $sIPAddress = " " GUICtrlSetData($lvItem, $sMachineName & "|" & $sIPAddress & "|" & $sDescription & "|" & $lvItem) GUICtrlSetImage($lvItem, $sRASUIDLL, 138) ; Online Icon _ReleaseMemory() Return 1 EndIf _ReleaseMemory() Return 0 EndFunc ; ==> _SetStatus Func _RemoveMachine() Local $sMachineName = _MonitorViews($lvMachines) If ($sMachineName <> "") Then _GUICtrlListViewDeleteItemsSelected($lvMachines) _GUICtrlStatusBarSetText($cStatusBar, "Removed Machine: " & $sMachineName, 0) _GUICtrlStatusBarReset($cStatusBar) Endif EndFunc ; ==> _RemoveMachine #Region --- General Context Menu Functions --- #EndRegion --- General Context Menu Functions --- #Region --- Network Context Menu Functions --- #EndRegion --- Network Context Menu Functions --- #Region --- Peripherals Context Menu Functions --- Func _PrintJobsSetState($nState) If ($sMachineName <> $LV_ERR) Then If Ping($sMachineName) Then If _GUICtrlListViewGetCurSel ($lvPrintJobs) <> $LV_ERR Then If StringLen(_GUICtrlListViewGetItemText ($lvPrintJobs, -1, 0)) <> 0 Then GUICtrlSetState($lvPrintJobs, $GUI_FOCUS) $sServiceName = _GUICtrlListViewGetSelectedIndices ($lvPrintJobs, 1) If IsArray($sServiceName) Then For $i = 1 To $sServiceName[0] Local $nServiceID = _GUICtrlListViewGetItemText ($lvPrintJobs, $sServiceName[$i], 9) Local $nServiceName = _GUICtrlListViewGetItemText ($lvPrintJobs, $sServiceName[$i], 1) $objWMIService = ObjGet("winmgmts:\\" & $sMachineName & "\root\CIMV2") $colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_Service", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems If $objItem.Name = $nServiceName And $objItem.ProcessId = $nServiceID Then Select Case $nState = "Pause" $nReturn = $objItem.PauseService () Case $nState = "Resume" $nReturn = $objItem.ResumeService () Case $nState = "Cancel" $nReturn = $objItem.Delete () Case $nState = "Purge" $colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_Printer", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems $nReturn = $objItem.CancelAllJobs() Next Endif EndSelect ExitLoop Endif Next Endif Next Endif Endif _PopulateServicesView() Endif Endif Endif If $nReturn <> - 1 Then _GUICtrlStatusBarSetText($cStatusBar, $nState & " " & $nServiceName & " Service: " & $aServiceStatus[$nReturn], 0) _GUICtrlStatusBarReset($cStatusBar) Endif EndFunc ; ==> _PrintJobsSetState #EndRegion --- Peripherals Context Menu Functions --- #Region --- Startup Context Menu Functions --- Func _SearchStartupGoogle() Local $sItemName If _GUICtrlListViewGetCurSel ($lvStartupItems) <> $LV_ERR Then If StringLen(_GUICtrlListViewGetItemText ($lvStartupItems, -1, 0)) <> 0 Then GUICtrlSetState($lvStartupItems, $GUI_FOCUS) $sItemName = _GUICtrlListViewGetItemText ($lvStartupItems, -1, 0) Run(@comspec & ' /c start http://www.google.com/search?q="' & $sItemName & '"','',@sw_hide) Else $sItemName = "" _GUICtrlStatusBarSetText($cStatusBar, "", 1) ; Reset Status Bar Endif Endif EndFunc ; ==> _SearchStartupGoogle Func _SearchStartupSysinfo() Local $sItemName If _GUICtrlListViewGetCurSel ($lvStartupItems) <> $LV_ERR Then If StringLen(_GUICtrlListViewGetItemText ($lvStartupItems, -1, 0)) <> 0 Then GUICtrlSetState($lvStartupItems, $GUI_FOCUS) $sItemName = _GUICtrlListViewGetItemText ($lvStartupItems, -1, 0) Run(@comspec & ' /c start http://sysinfo.org/startuplist.php?filter="' & $sItemName & '"','',@sw_hide) Else $sItemName = "" _GUICtrlStatusBarSetText($cStatusBar, "", 1) ; Reset Status Bar Endif Endif EndFunc ; ==> _SearchStartupSysinfo #EndRegion --- Startup Context Menu Functions --- #Region --- Processes Context Menu Functions --- Func _SearchProcessGoogle() Local $sProcessName If _GUICtrlListViewGetCurSel ($lvProcesses) <> $LV_ERR Then If StringLen(_GUICtrlListViewGetItemText ($lvProcesses, -1, 0)) <> 0 Then GUICtrlSetState($lvProcesses, $GUI_FOCUS) $sProcessName = _GUICtrlListViewGetItemText ($lvProcesses, -1, 0) Run(@comspec & ' /c start http://www.google.com/search?q="' & $sProcessName & '"','',@sw_hide) Else $sProcessName = "" _GUICtrlStatusBarSetText($cStatusBar, "", 1) ; Reset Status Bar Endif Endif EndFunc ; ==> _SearchProcessGoogle Func _SearchProcessSysinfo() Local $sProcessName If _GUICtrlListViewGetCurSel ($lvProcesses) <> $LV_ERR Then If StringLen(_GUICtrlListViewGetItemText ($lvProcesses, -1, 0)) <> 0 Then GUICtrlSetState($lvProcesses, $GUI_FOCUS) $sProcessName = _GUICtrlListViewGetItemText ($lvProcesses, -1, 0) Run(@comspec & ' /c start http://sysinfo.org/startuplist.php?filter="' & $sProcessName & '"','',@sw_hide) Else $sProcessName = "" _GUICtrlStatusBarSetText($cStatusBar, "", 1) ; Reset Status Bar Endif Endif EndFunc ; ==> _SearchProcessSysinfo Func _SearchProcessProcessLibrary() Local $sProcessName If _GUICtrlListViewGetCurSel ($lvProcesses) <> $LV_ERR Then If StringLen(_GUICtrlListViewGetItemText ($lvProcesses, -1, 0)) <> 0 Then GUICtrlSetState($lvProcesses, $GUI_FOCUS) $sProcessName = _GUICtrlListViewGetItemText ($lvProcesses, -1, 0) Run(@comspec & ' /c start http://www.processlibrary.com/directory?files="' & $sProcessName & '"','',@sw_hide) Else $sProcessName = "" _GUICtrlStatusBarSetText($cStatusBar, "", 1) ; Reset Status Bar Endif Endif EndFunc ; ==> _SearchProcessProcessLibrary Func _SearchProcessWinTasksProcessLibrary() Local $sProcessName If _GUICtrlListViewGetCurSel ($lvProcesses) <> $LV_ERR Then If StringLen(_GUICtrlListViewGetItemText ($lvProcesses, -1, 0)) <> 0 Then GUICtrlSetState($lvProcesses, $GUI_FOCUS) $sProcessName = _GUICtrlListViewGetItemText ($lvProcesses, -1, 0) Run(@comspec & ' /c start http://www.liutilities.com/products/wintaskspro/processlibrary/','',@sw_hide) Else $sProcessName = "" _GUICtrlStatusBarSetText($cStatusBar, "", 1) ; Reset Status Bar Endif Endif EndFunc ; ==> _SearchProcessWinTasksProcessLibrary Func _StartProcess() ; Using PSExec, input box for path, checkbox for make interactive ; RunWait('Bin\psexec.exe -s \\' & $sMachineName & " " & , @ScriptDir, @SW_HIDE) ; psexec \\marklap c:\bin\test.exe ; psexec [\\computer[,computer[,..] | @file ][-u user [-p psswd]][-n s][-l][-s|-e][-i][-x][-c [-f|-v]][-d][-w directory][-][-a n,n,...] cmd [arguments] EndFunc ; ==> _StartProcess Func _EndProcess() Local $sProcessName, $objWMIService, $colItems, $objItem, $nReturn If ($sMachineName <> $LV_ERR) Then If Ping($sMachineName) Then If _GUICtrlListViewGetCurSel ($lvProcesses) <> $LV_ERR Then If StringLen(_GUICtrlListViewGetItemText ($lvProcesses, -1, 0)) <> 0 Then GUICtrlSetState($lvProcesses, $GUI_FOCUS) $sProcessName = _GUICtrlListViewGetSelectedIndices ($lvProcesses, 1) ; _GUICtrlListViewGetItemText ($lvProcesses, -1, 0) If IsArray($sProcessName) Then For $i = 1 To $sProcessName[0] Local $nProcessID = _GUICtrlListViewGetItemText ($lvProcesses, $sProcessName[$i], 3) Local $nProcessName = _GUICtrlListViewGetItemText ($lvProcesses, $sProcessName[$i], 0) $objWMIService = ObjGet("winmgmts:\\" & $sMachineName & "\root\CIMV2") $colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_Process", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) _Wait() If IsObj($colItems) Then For $objItem In $colItems If $objItem.ProcessId = $nProcessID Then $nReturn = $objItem.Terminate () Select Case $nReturn = 0 _GUICtrlStatusBarSetText($cStatusBar, "Terminated Process " & $nProcessName & " Successfully", 0) _GUICtrlStatusBarReset($cStatusBar) Case $nReturn = 2 _GUICtrlStatusBarSetText($cStatusBar, "Terminate Process " & $nProcessName & " Failed: Access Denied", 0) _GUICtrlStatusBarReset($cStatusBar) Case $nReturn = 3 _GUICtrlStatusBarSetText($cStatusBar, "Terminate Process " & $nProcessName & " Failed: Insufficient Privilege", 0) _GUICtrlStatusBarReset($cStatusBar) Case $nReturn = 8 _GUICtrlStatusBarSetText($cStatusBar, "Terminate Process " & $nProcessName & " Failed: Unknown Failure", 0) _GUICtrlStatusBarReset($cStatusBar) Case $nReturn = 9 _GUICtrlStatusBarSetText($cStatusBar, "Terminate Process " & $nProcessName & " Failed: Path Not Found", 0) _GUICtrlStatusBarReset($cStatusBar) Case $nReturn = 21 _GUICtrlStatusBarSetText($cStatusBar, "Terminate Process " & $nProcessName & " Failed: Invalid Parameter", 0) _GUICtrlStatusBarReset($cStatusBar) EndSelect EndIf Next EndIf _ResetWait() Next _PopulateProcessesView() EndIf Else $sProcessName = "" _GUICtrlStatusBarSetText($cStatusBar, "", 1) ; Reset Status Bar Endif Endif Endif EndIf EndFunc ; ==> _EndProcess #EndRegion --- Processes Context Menu Functions --- #Region --- Services Context Menu Functions --- Func _ServiceSetState($nState) Local $sServiceName, $objWMIService, $colItems, $objItem, $nReturn = -1 Local $aServiceStatus[25] = ["Success", "Not Supported", "Access Denied", "Dependent Services Running", _ "Invalid Service Control", "Service Cannot Accept Control", "Service Not Active", "Service Request Timeout", _ "Unknown Failure", "Path Not Found", "Service Already Stopped", "Service Database Locked", "Service Dependency Deleted", _ "Service Dependency Failure", "Service Disabled", "Service Logon Failed", "Service Marked For Deletion", "Service No Thread", _ "Status Circular Dependency", "Status Duplicate Name", "Status - Invalid Name", "Status - Invalid Parameter", _ "Status - Invalid Service Account", "Status - Service Exists", "Service Already Paused"] If ($sMachineName <> $LV_ERR) Then If Ping($sMachineName) Then If _GUICtrlListViewGetCurSel ($lvServices) <> $LV_ERR Then If StringLen(_GUICtrlListViewGetItemText ($lvServices, -1, 0)) <> 0 Then GUICtrlSetState($lvServices, $GUI_FOCUS) $sServiceName = _GUICtrlListViewGetSelectedIndices ($lvServices, 1) If IsArray($sServiceName) Then For $i = 1 To $sServiceName[0] Local $nServiceID = _GUICtrlListViewGetItemText ($lvServices, $sServiceName[$i], 9) Local $nServiceName = _GUICtrlListViewGetItemText ($lvServices, $sServiceName[$i], 1) $objWMIService = ObjGet("winmgmts:\\" & $sMachineName & "\root\CIMV2") $colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_Service", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) Then For $objItem In $colItems If $objItem.Name = $nServiceName And $objItem.ProcessId = $nServiceID Then Select Case $nState = "Boot" Or $nState = "System" Or $nState = "Automatic" Or $nState = "Manual" Or $nState = "Disabled" $nReturn = $objItem.ChangeStartMode ($nState) Case $nState = "Stop" $nReturn = $objItem.StopService () Case $nState = "Start" $nReturn = $objItem.StartService () Case $nState = "Pause" $nReturn = $objItem.PauseService () Case $nState = "Resume" $nReturn = $objItem.ResumeService () Case $nState = "Delete" $nReturn = $objItem.Delete () EndSelect ExitLoop Endif Next Endif Next Endif Endif _PopulateServicesView() Endif Endif Endif If $nReturn <> - 1 Then _GUICtrlStatusBarSetText($cStatusBar, $nState & " " & $nServiceName & " Service: " & $aServiceStatus[$nReturn], 0) _GUICtrlStatusBarReset($cStatusBar) Endif EndFunc ; ==> _ServiceSetState #EndRegion --- Services Context Menu Functions --- #Region --- Tasks Context Menu Functions --- #EndRegion --- Tasks Context Menu Functions --- #Region --- Hardware Context Menu Functions --- #EndRegion --- Hardware Context Menu Functions --- #Region --- Software Context Menu Functions --- #EndRegion --- Software Context Menu Functions --- #Region --- Uninstall Software Context Menu Functions --- Func _UninstallSoftware() Local $aSoftware If Ping($sMachineName) Then $aSoftware = _GUICtrlListViewGetSelectedIndices($lvUninstallSoftware, 1) If IsArray($aSoftware) Then For $i = 1 To $aSoftware[0] _Wait() RunWait('Bin\psexec.exe -s \\' & $sMachineName & " " & "msiexec.exe /x " & _GUICtrlListViewGetItemText($lvUninstallSoftware, $aSoftware[$i], 2) & " /qn /norestart", @ScriptDir, @SW_HIDE) _ResetWait() Next Endif _PopulateUninstallSoftwareView() _GUICtrlStatusBarSetText($cStatusBar, "Uninstallable Software: " & _GUICtrlListViewGetItemCount($lvUninstallSoftware), 0) _GUICtrlStatusBarReset($cStatusBar) Endif EndFunc ; ==> _UninstallSoftware #EndRegion --- Uninstall Software Context Menu Functions --- #Region --- Event Logs Context Menu Functions --- #EndRegion --- Event Logs Context Menu Functions --- #Region --- Users And Groups Context Menu Functions --- #EndRegion --- Users And Groups Context Menu Functions --- Func _MonitorViews(ByRef $nvMonitor) ; ByRef $hWindow, ByRef $nvMonitor, ByRef $btnMonitor) $sMachineName = _GUICtrlListViewGetItemText ($nvMonitor, -1, 0) $sIPAddress = TCPNameToIP($sMachineName) $cI_CompName = $sMachineName If _GUICtrlListViewGetCurSel ($nvMonitor) <> $LV_ERR Then If StringLen(_GUICtrlListViewGetItemText ($nvMonitor, -1, 0)) <> 0 Then ; GUICtrlSetState($nvMonitor, $GUI_FOCUS) _GUICtrlListViewSetItemSelState ($nvMonitor, -1) $sMachineName = _GUICtrlListViewGetItemText ($nvMonitor, -1, 0) $sIPAddress = TCPNameToIP($sMachineName) $cI_CompName = $sMachineName _GUICtrlStatusBarSetText($cStatusBar, $sMachineName, 1) ; Return Machine Name Else $sMachineName = "" $sIPAddress = "" $cI_CompName = "" _GUICtrlStatusBarSetText($cStatusBar, "", 1) ; Reset Status Bar EndIf Endif Return $sMachineName Return $cI_CompName EndFunc ; ==> _MonitorViews Func _MonitorInputBox(ByRef $hWindow, ByRef $ibMonitor, ByRef $btnMonitor) Local $dll = DllOpen("user32.dll") Local $hWindowSize, $sMonitor If $sMonitor <> GUICtrlRead($ibMonitor) Then $sMonitor = GUICtrlRead($ibMonitor) If StringLen($sMonitor) = 0 Then GUICtrlSetState($btnMonitor, $GUI_DISABLE) Else GUICtrlSetState($btnMonitor, $GUI_ENABLE) EndIf EndIf $hWindowSize = WinGetClientSize($hWindow) If $hWindowSize[0] And $hWindowSize[1] Then If (ControlGetFocus($hWindow) = "Edit1") Then If _IsPressed ("1B", $dll) Then $GUI_EVENT_CLOSE ; User closed the window If StringLen($sMonitor) > 0 Then If _IsPressed ("0D", $dll) Then $btnMonitor ; User pressed enter key Endif EndIf EndIf DllClose($dll) EndFunc ; ==> _MonitorInputBox Func _IsPressedMod() Local $aR, $bRv, $hexKey, $i For $i = 8 To 128 $hexKey = '0x' & Hex($i, 2) $aR = DllCall("user32", "int", "GetAsyncKeyState", "int", $hexKey) If $aR[0] <> 0 Then Return $i Next Return 0 EndFunc ; ==> _IsPressedMod Func GUIChangeItems($StartHide, $EndHide, $StartShow, $EndShow) Local $iDX For $iDX = $StartHide To $EndHide GUICtrlSetState ($iDX, $GUI_HIDE) Next For $iDX = $StartShow To $EndShow GUICtrlSetState ($iDX, $GUI_SHOW) Next EndFunc Func _GUICtrlCreateHyperlink($S_TEXT, $I_LEFT, $I_TOP, $I_WIDTH = -1, $I_HEIGHT = -1, $I_COLOR = 0x0000ff, $S_TOOLTIP = '', $I_STYLE = -1, $I_EXSTYLE = -1) Local $I_CTRLID $I_CTRLID = GUICtrlCreateLabel($S_TEXT, $I_LEFT, $I_TOP, $I_WIDTH, $I_HEIGHT, $I_STYLE, $I_EXSTYLE) If $I_CTRLID <> 0 Then GUICtrlSetFont($I_CTRLID, -1, -1, 4) GUICtrlSetColor($I_CTRLID, $I_COLOR) GUICtrlSetCursor($I_CTRLID, 0) If $S_TOOLTIP <> '' Then GUICtrlSetTip($I_CTRLID, $S_TOOLTIP) EndIf EndIf Return $I_CTRLID EndFunc ; ==> _GUICtrlCreateHyperlink Func _GUIPrep() RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\RAS","(Default)", "REG_SZ", "(value not set)") RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\RAS","InstallDir", "REG_SZ", @ScriptDir) RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\RAS","Version", "REG_SZ", "v" & $sVersion & " " & $sBuild) RegWrite("HKEY_CURRENT_USER\Software\RAS","(Default)", "REG_SZ", "(value not set)") If @Compiled Then If Not FileExists(@SystemDir & "\mfc71d.dll") Then FileInstall("C:\WINDOWS\system32\mfc71d.dll", @SystemDir & "\mfc71d.dll") If Not FileExists(@SystemDir & "\msvcr71d.dll") Then FileInstall("C:\WINDOWS\system32\msvcr71d.dll", @SystemDir & "\msvcr71d.dll") If Not FileExists(@ScriptDir & "\Bin") Then DirCreate(@ScriptDir & "\Bin") If Not FileExists(@ScriptDir & "\Plugins") Then DirCreate(@ScriptDir & "\Plugins") FileInstall("F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\RASUI.dll", @ScriptDir & '\RASUI.dll') FileInstall("F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\RAS Help.chm", @ScriptDir & '\RAS Help.chm') FileInstall("F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\Bin\RASSplash.jpg", @ScriptDir & '\Bin\RASSplash.jpg') FileInstall("F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\Bin\becmd.exe", @ScriptDir & '\Bin\becmd.exe') FileInstall("F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\Bin\psexec.exe", @ScriptDir & '\Bin\psexec.exe') ; FileInstall("F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\Bin\wol.exe", @ScriptDir & '\Bin\wol.exe') ; FileInstall("F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\Bin\psexec.exe", @ScriptDir & '\Bin\psexec.exe') ; FileInstall("F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\Bin\psloggedon.exe", @ScriptDir & '\Bin\psloggedon.exe') ; FileInstall("F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\Bin\psinfo.exe", @ScriptDir & '\Bin\psinfo.exe') ; FileInstall("F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\Bin\pslist.exe", @ScriptDir & '\Bin\pslist.exe') ; FileInstall("F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\Bin\ExportSingle.xls", @ScriptDir & '\Bin\ExportSingle.xls') ; FileInstall("F:\DSL001\DevLib\Projects\Remote Administration Suite\Decompiled\Bin\ExportSingleSysSoft.xls", @ScriptDir & '\Bin\ExportSingleSysSoft.xls') Sleep(1000) EndIf EndFunc ; ==> _GUIPrep Func _GUICleanup() If @Compiled Then FileDelete(@ScriptDir & '\RASUI.dll') FileDelete(@ScriptDir & '\Bin\RASSplash.jpg') FileDelete(@ScriptDir & '\Bin\becmd.exe') FileDelete(@ScriptDir & '\Bin\psexec.exe') Sleep(1000) EndIf EndFunc ; ==> _GUICleanup #EndRegion --- GUI Functions --- #Region --- Toolbar Functions --- Func _ToolBar_GetIndex($h_control, $control_id) Local $sIndex = DllCall("user32.dll", "int", "SendMessage", "int", $h_control, "int", $TB_COMMANDTOINDEX, "int", $control_id, "int", 0) If Not @error Then Return $sIndex[0] Else Return -1 EndIf EndFunc ;==>_ToolBar_GetIndex Func ToolBar_Click($sIndex) Switch $sIndex Case 0 ;---------------------------------------------------------------------------------------------- If $DebugIt Then ConsoleWrite (_DebugHeader("ToolBar NEW Selected")) ;---------------------------------------------------------------------------------------------- Case 1 ;---------------------------------------------------------------------------------------------- If $DebugIt Then ConsoleWrite (_DebugHeader("ToolBar OPEN Selected")) ;---------------------------------------------------------------------------------------------- Case 2 ;---------------------------------------------------------------------------------------------- If $DebugIt Then ConsoleWrite (_DebugHeader("ToolBar SAVE Selected")) ;---------------------------------------------------------------------------------------------- Case 3, 7 ; not used Case 4 ;---------------------------------------------------------------------------------------------- If $DebugIt Then ConsoleWrite (_DebugHeader("ToolBar CUT Selected")) ;---------------------------------------------------------------------------------------------- Case 5 ;---------------------------------------------------------------------------------------------- If $DebugIt Then ConsoleWrite (_DebugHeader("ToolBar COPY Selected")) ;---------------------------------------------------------------------------------------------- Case 6 ;---------------------------------------------------------------------------------------------- If $DebugIt Then ConsoleWrite (_DebugHeader("ToolBar PASTE Selected")) ;---------------------------------------------------------------------------------------------- Case 8 ;---------------------------------------------------------------------------------------------- If $DebugIt Then ConsoleWrite (_DebugHeader("ToolBar UNDO Selected")) ;---------------------------------------------------------------------------------------------- Case 9 ;---------------------------------------------------------------------------------------------- If $DebugIt Then ConsoleWrite (_DebugHeader("ToolBar REDO Selected")) ;---------------------------------------------------------------------------------------------- EndSwitch EndFunc ; ==> ToolBar_Click #EndRegion --- Toolbar Functions --- #Region --- Check Running --- Func _CheckRunning($sSemaphore, $sProgramName) ;_CheckRunning("123456789", $sTitle) ; Creates A Unique Value DllCall("kernel32.dll", "int", "CreateSemaphore", "int", 0, "long", 1, "long", 1, "str", $sSemaphore) Local $lastError = DllCall("kernel32.dll", "int", "GetLastError"), $ERROR_ALREADY_EXISTS = 183 If $lastError[0] = $ERROR_ALREADY_EXISTS Then Local $nRunning = MsgBox(16+4, $sProgramName, "An instance of this program is already running! Would you like to open a new instance?") If $nRunning = 6 Then ; Do Nothing, Open New Instance Else Exit -1 Endif AutoItWinSetTitle($sProgramName) WinActivate($sProgramName) EndIf EndFunc ; ==> _CheckRunning #EndRegion --- Check Running --- #Region --- Terminate Application --- Func _TerminateApp() ImageList_Destroy($hMenuImageList) DeleteObject($hMenuFont) If IniRead($sRASINI, "User", "EnableAnimations", "True") = "True" Then _GUICtrlFadeWindowOut($hGUI) EndIf _GUICleanup() Exit EndFunc ; ==> _TerminateApp #EndRegion --- Terminate Application --- #Region --- Terminate GUI Function --- Func _TerminateGUI($gui_hWnd, $gui_title = "") If $gui_title = "" Then $gui_title = $sTitle If $gui_hWnd = $hRemoteControlConfigureClientGUI Then GUISetState(@SW_ENABLE, $hPreferencesGUI) GUIDelete($gui_hWnd) Else GUIDelete($gui_hWnd) GUISetState(@SW_ENABLE, $hGUI) GUISetState(@SW_ENABLE, $cInformationTab) GUISetState(@SW_SHOW, $hGUI) WinActivate($gui_title) EndIf EndFunc ; ==> _TerminateGUI #EndRegion --- Terminate GUI Function --- #Region --- Restart Program --- Func _RestartProgram() ; Thanks UP_NORTH If @Compiled = 1 Then Run(FileGetShortName(@ScriptFullPath)) Else Run(FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath)) EndIf Exit EndFunc ; ==> _RestartProgram #EndRegion --- Restart Program --- #Region --- Cleanup --- ; Func OnAutoItExit() ; ImageList_Destroy($hToolBarImageList) ; ;~ $arMenuItems = 0 ; EndFunc ; ==> OnAutoItExit #EndRegion --- Cleanup ---