ich komme bei einer Tabelle nicht weiter, unter anderem, weil ich nicht weiß, ob die Möglichkeiten überhaupt bestehen ![]()
Im Anhang symbolisch mal ein Screen, was ich meine.
1. ist die Höhe der Tabellenfelder eigentlich fix ? Oder gibt eine Möglichkeit, der Höhe andere Werte zu geben ?
2. lassen sich die Tabellenfelder farblich einfärben ? Ziel wäre, jede zweite Zeile mit einer anderen Hintergrundfarbe zu versehen für mehr Übersicht vergleichbar , analog GUICtrlSetBKColor
3. lassen sich definierte Bilder einsetzen ? Ich habe mal exemplarisch im Screen in der ganz rechten Spalte das symbolisiert ?`Ich habe lediglich ein Beispiel einer unifarbenen Bitmap gefunden.
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.4.0
Author: Sönke Graf
Program Name: Version_Checker
Script Function:
This Script searches the Registry Uninstall Path - "$sBase for Specific
Programs defined in the Variables Section under "$sSearch" - "$sSearch4" -
the registry is then scanned for the correct Version Number and all
Information stored in an array. This array then is used for a GUI display
-ing the Information. The "$sURL" Variables are listed for an update of
the Software.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit];=======================================================================
; INCLUDE CONSTANTS
;=======================================================================
#include <GuiListView.au3>
#include <Misc.au3>
#include <GUIConstantsEx.au3>
;=======================================================================
; VARIABLES
;=======================================================================
$sBase = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
[/autoit] [autoit][/autoit] [autoit];Five Search Operations
[/autoit] [autoit][/autoit] [autoit]$sSearch = "Adobe Flash"
$sSearch1 = "Adobe Acrobat "
$sSearch2 = "Adobe Reader"
$sSearch3 = "Java"
$sSearch4 = "UltraVnc"
;latest Versions
[/autoit] [autoit][/autoit] [autoit]$lVersion = "10.2.152.26"
$lVersion1 = "10.0.1"
$lVersion2 = "10.0.1"
$lVersion3 = "6.0.240"
$lVersion4 = "1.0.9.5"
;=======================================================================
; Program Code
;=======================================================================
;-----------------------------Search Operation 1------------------------
[/autoit] [autoit][/autoit] [autoit]$iEval = 1
$iSearch = 0
While 1
$sVersion = ""
$sDisplay = ""
$sCurrent = RegEnumKey($sBase, $iEval)
If @Error Then ExitLoop
$sKey = $sBase & $sCurrent
$sDisplay = RegRead($sKey, "DisplayName")
If StringRegExp($sDisplay, ".*" & $sSearch & ".*") Then
$sVersion = RegRead($sKey, "DisplayVersion")
$iSearch = 1
If $iSearch = 1 Then
$sStatus = "installiert"
ExitLoop
ElseIf $iSearch = 0 Then
ExitLoop
EndIf
Endif
$iEval += 1
WEnd
If $iSearch = 0 Then
$sStatus = "n/a"
EndIf
;-----------------------------Search Operation 2------------------------
[/autoit] [autoit][/autoit] [autoit]$iEval = 1
$iSearch1 = 0
While 1
$sVersion1 = ""
$sDisplay = ""
$sCurrent = RegEnumKey($sBase, $iEval)
If @Error Then ExitLoop
$sKey = $sBase & $sCurrent
$sDisplay = RegRead($sKey, "DisplayName")
If StringRegExp($sDisplay, ".*" & $sSearch1 & ".*") Then
$sVersion1 = RegRead($sKey, "DisplayVersion")
$iSearch1 = 1
If $iSearch1 = 1 Then
$sStatus1 = "installiert"
ExitLoop
ElseIf $iSearch1 = 0 Then
ExitLoop
EndIf
Endif
$iEval += 1
WEnd
If $iSearch1 = 0 Then
$sStatus1 = "n/a"
EndIf
;-----------------------------Search Operation 3------------------------
[/autoit] [autoit][/autoit] [autoit]$iEval = 1
$iSearch2 = 0
While 1
$sVersion2 = ""
$sDisplay = ""
$sCurrent = RegEnumKey($sBase, $iEval)
If @Error Then ExitLoop
$sKey = $sBase & $sCurrent
$sDisplay = RegRead($sKey, "DisplayName")
If StringRegExp($sDisplay, ".*" & $sSearch2 & ".*") Then
$sVersion2 = RegRead($sKey, "DisplayVersion")
$iSearch2 = 1
If $iSearch2 = 1 Then
$sStatus2 = "installiert"
ExitLoop
ElseIf $iSearch2 = 0 Then
ExitLoop
EndIf
Endif
$iEval += 1
WEnd
If $iSearch2 = 0 Then
$sStatus2 = "n/a"
EndIf
;-----------------------------Search Operation 4------------------------
[/autoit] [autoit][/autoit] [autoit]$iEval = 1
$iSearch3 = 0
While 1
$sVersion3 = ""
$sDisplay = ""
$sCurrent = RegEnumKey($sBase, $iEval)
If @Error Then ExitLoop
$sKey = $sBase & $sCurrent
$sDisplay = RegRead($sKey, "DisplayName")
If StringRegExp($sDisplay, ".*" & $sSearch3 & ".*") Then
$sVersion3 = RegRead($sKey, "DisplayVersion")
$iSearch3 = 1
If $iSearch3 = 1 Then
$sStatus3 = "installiert"
ExitLoop
ElseIf $iSearch3 = 0 Then
ExitLoop
EndIf
Endif
$iEval += 1
WEnd
If $iSearch3 = 0 Then
$sStatus3 = "n/a"
EndIf
;-----------------------------Search Operation 5------------------------
[/autoit] [autoit][/autoit] [autoit]$iEval = 1
$iSearch4 = 0
While 1
$sVersion4 = ""
$sDisplay = ""
$sCurrent = RegEnumKey($sBase, $iEval)
If @Error Then ExitLoop
$sKey = $sBase & $sCurrent
$sDisplay = RegRead($sKey, "DisplayName")
If StringRegExp($sDisplay, ".*" & $sSearch4 & ".*") Then
$sVersion4 = RegRead($sKey, "DisplayVersion")
$iSearch4 = 1
If $iSearch4 = 1 Then
$sStatus4 = "installiert"
ExitLoop
ElseIf $iSearch4 = 0 Then
ExitLoop
EndIf
Endif
$iEval += 1
WEnd
If $iSearch4 = 0 Then
$sStatus4 = "n/a"
EndIf
;=======================================================================
; URL Detection
;=======================================================================
;=======================================================================
; CURRENT VERSION ARRAY
;=======================================================================
Global $aVersions[5][4]
[/autoit] [autoit][/autoit] [autoit]$aVersions[0][0] = $sSearch
$aVersions[0][1] = $sStatus
$aVersions[0][2] = $sVersion
$aVersions[0][3] = $lVersion
$aVersions[1][0] = $sSearch1
$aVersions[1][1] = $sStatus1
$aVersions[1][2] = $sVersion1
$aVersions[1][3] = $lVersion1
$aVersions[2][0] = $sSearch2
$aVersions[2][1] = $sStatus2
$aVersions[2][2] = $sVersion2
$aVersions[2][3] = $lVersion2
$aVersions[3][0] = $sSearch3
$aVersions[3][1] = $sStatus3
$aVersions[3][2] = $sVersion3
$aVersions[3][3] = $lVersion3
$aVersions[4][0] = $sSearch4
$aVersions[4][1] = $sStatus4
$aVersions[4][2] = $sVersion4
$aVersions[4][3] = $lVersion4
;=======================================================================
; CREATE GUI
;=======================================================================
Local $msg
[/autoit] [autoit][/autoit] [autoit]$GUI = GUICreate("Versionsprüfer by Sönke Graf", 800, 371)
GUISetBkColor( 0x99B9E3 )
$listview = GUICtrlCreateListView("", 10, 10, 780, 351)
[/autoit] [autoit][/autoit] [autoit]_GUICtrlListView_AddColumn($listview, " Programmname", 250)
_GUICtrlListView_AddColumn($listview, " Status", 100)
_GUICtrlListView_AddColumn($listview, " installierte Version ", 150)
_GUICtrlListView_AddColumn($listview, " aktuelle Version", 150)
_GUICtrlListView_AddColumn($listview, " Flag", 126)
GUICtrlSendMsg($ListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
[/autoit] [autoit][/autoit] [autoit]For $i = 0 To UBound($aVersions) - 1
$x = _GUICtrlListView_AddItem($listview, $aVersions[$i][0])
_GUICtrlListView_AddSubItem($listview, $x, $aVersions[$i][1], 1)
_GUICtrlListView_AddSubItem($listview, $x, $aVersions[$i][2], 2)
_GUICtrlListView_AddSubItem($listview, $x, $aVersions[$i][3], 3)
Next
GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Select
Case $nMsg = $GUI_EVENT_CLOSE
MsgBox(0, "", "Programm wird geschlossen")
Exit
Case $nMsg = $GUI_EVENT_MINIMIZE
MsgBox(0, "", "Dialog minimiert", 2)
Case $nMsg = $GUI_EVENT_MAXIMIZE
MsgBox(0, "", "Dialog wieder hergestellt", 2)
EndSelect
WEnd