1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Oscar

Beiträge von Oscar

  • "Drücken sie eine beliebige Taste"

    • Oscar
    • 24. Juni 2010 um 20:23

    i2c: Nanu, seit wann geht das denn?

    Das dürfte (lt. Hilfe) eigentlich nicht funktionieren:

    Zitat

    Some controls consume internally specific Windows Message ID, so registrating them will have no effect, e.g; WM_CHAR, WM_KEYDOWN, WM_KEYUP are consumed by an edit control.

    Aber Dein Beispiel funktioniert. :)

  • Suche die richtigen Styles für GUI

    • Oscar
    • 24. Juni 2010 um 19:47

    Aber wäre ein "mehr" dann nicht auch ein zusätzliches Icon?
    Ich fände eine MsgBox mit Icon jedenfalls viel besser. :thumbup:

    Microsoft-like: "It's not a bug. It's a feature!" ^^

  • GUI - Problem

    • Oscar
    • 23. Juni 2010 um 20:15

    Danke Sprenger120, dass Du das zitiert hast. Das ist nämlich schon das zweite Mal das er diesen Spambot versucht.
    Das gibt dann gleich die zweite Verwarnung.

    Ok, das war das erste Mal. Habe Dich mit einem anderen User verwechselt, aber eine Verwarnung gibt es trotzdem.

    [Thread closed]

  • Unglaublich kompliziert ausgedrückt :-D

    • Oscar
    • 23. Juni 2010 um 15:28
    Zitat von MoDjunior

    Also, mein Skript tut folgendes, bzw. zumindest sollte es das tun:

    1. Poppt ein Gui auf, wo man 2 Ordner-Links einfügt

    2. Durchsucht es diese beiden Ordner und gibt mir aus wenn

    a) Dateien in Ordner 1 nicht sind

    b) Dateien in Ordner 2 nicht sind

    c) Dateien in Ordner 1 aktueller sind

    d) Dateien in Ordner 2 aktueller sind

    Alles anzeigen


    2a und 2b) Was für Dateien?
    2c und 2d) Aktueller als was/wer?

    Zitat von MoDjunior

    Okay, was es jetzt tun soll: Sobald ich auf einen Eintrag in 2a) klicke, soll er mir die Datei, die angeklickt wird, kopieren. Für hilfe wäre ich sehr dankbar =)


    Wie willst Du auf einen Eintrag klicken? In _ArrayDisplay() kann man nichts anklicken. Erstell am besten ein Listview, in dem Du die Dateien einträgst.
    Kopieren? Wohin?

  • OCR Fragen

    • Oscar
    • 23. Juni 2010 um 14:44

    Schau Dir mal _GUICtrlIpAddress_Get() in der Hilfe an.

  • Problem beim Zahl definieren

    • Oscar
    • 23. Juni 2010 um 14:39

    Ich bevorzuge auch das StringFormat (wie Andy). Die Version von BugFix ist aber schneller (dunkel an BigInt-µIT erinner...).

  • icons aus shell32.dll auslesen und speichern

    • Oscar
    • 23. Juni 2010 um 04:23

    Du kannst die Icons aus der shell32.dll aber auch direkt in AutoIt einbinden:

    [autoit]


    GUICreate('Test')
    GUICtrlCreateIcon('shell32.dll', -28, 50, 50, 32, 32)
    GUISetState()
    Do
    Until GUIGetMsg() = -3

    [/autoit]

    Und mit diesem Skript (von Progandy) bekommst Du die Nummer des Icons raus:

    Spoiler anzeigen
    [autoit]


    #include<GUIConstants.au3>
    #include<WindowsConstants.au3>
    #include<EditConstants.au3>
    #include<ButtonConstants.au3>
    #include<StaticConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;===============================================================================
    ;
    ; Description: Show all icons in the given file and choose one.
    ; Requirement(s): Autoit 3.2.5+
    ; Author(s): Prog@ndy (some Functions and Gui-Style by YDY (Lazycat) (in enumicons_v2))
    ; Version: 1.1
    ; Date: 02.11.2007
    ;
    ; How to Call: $ret = _ChooseIcon( [Optional: Filename] )
    ; Return Values: Array:
    ; [0] = FileName
    ; [1] = Icon Number
    ;
    ;===============================================================================
    $ret = _ChooseIcon()
    MsgBox(0,"Icon","Pfad: " & $ret[0] & @CRLF & "icon-Nr.: " & $ret[1])

    [/autoit] [autoit][/autoit] [autoit]

    Func _ChooseIcon($fFileName = "")

    [/autoit] [autoit][/autoit] [autoit]

    Local $_CI_IconCount, $_CI_FileName, $_CI_SelectedIconName, $_CI_IconRadios[30], $_CI_Labels[30]
    $_CI_oldEventMode = Opt("GuiOnEventMode",0)
    $_CI_StartIndex = 1
    If FileExists($fFileName) Then
    $_CI_FileName = $fFileName
    Else
    $_CI_FileName = @SystemDir & "\shell32.dll"
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $_CI_hGui=GUICreate("Icon Selector by Ordinal value", 385, 450, -1, -1, -1, $WS_EX_ACCEPTFILES)
    ;GUISetOnEvent($GUI_EVENT_CLOSE,"_CI_CloseFunc")
    GUICtrlCreateGroup("", 5, 1, 375, 40)
    GUICtrlCreateGroup("", 5, 50, 375, 350)
    $_CI_hFile = GUICtrlCreateInput($_CI_FileName, 12, 15, 325, 16, -1, $WS_EX_STATICEDGE)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    GUICtrlSetTip(-1, "You can drop files from shell here...")
    $_CI_hStatus = GUICtrlCreateInput("", 90, 49, 200, 16, $ES_READONLY, $WS_EX_STATICEDGE)
    $_CI_hFileSel = GUICtrlCreateButton("...", 345, 14, 26, 18)
    ;GUICtrlSetOnEvent(-1,"_CI_LoadButton")
    $_CI_Next = GUICtrlCreateButton("&Weiter -|>",310,410)
    ;GUICtrlSetOnEvent(-1,"_CI_Next")
    $_CI_Back = GUICtrlCreateButton("<|- &Zurück",20,410)
    ;GUICtrlSetOnEvent(-1,"_CI_Back")
    $_CI_OK = GUICtrlCreateButton("Icon wählen:",120,410)
    ;GUICtrlSetOnEvent(-1,"_CI_CloseFunc")
    GUICtrlSetState(-1,$GUI_DISABLE)
    $_CI_Icon = GUICtrlCreateIcon("",0,190,404,32,32)

    [/autoit] [autoit][/autoit] [autoit]

    For $iCntRow = 0 to 4
    For $iCntCol = 0 to 5
    $iCurIndex = $iCntRow * 6 + $iCntCol
    $_CI_IconRadios[$iCurIndex] = GUICtrlCreateRadio("", 55 * $iCntCol + 25, 65 * $iCntRow + 75, 45, 45,$BS_ICON+$BS_PUSHLIKE)
    GUICtrlSetImage(-1,@SystemDir & "\shell32.dll",-2)
    ;$ahIcons[$iCurIndex] = GUICtrlCreateIcon($glFilename, 0, 60 * $iCntCol + 25, 70 * $iCntRow + 80)
    ;GUICtrlSetOnEvent(-1,"_CI_SelectedIcon")
    $_CI_Labels[$iCurIndex] = GUICtrlCreateLabel("1", 55 * $iCntCol+12, 65 * $iCntRow + 120, 58, 20, $SS_CENTER)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT )
    Next
    Next

    [/autoit] [autoit][/autoit] [autoit]

    _CI_NewFileLoad($_CI_FileName,$_CI_IconCount, $_CI_hFile)
    _CI_Update($_CI_IconRadios, $_CI_Labels, $_CI_hStatus, $_CI_StartIndex, $_CI_IconCount, $_CI_FileName, $_CI_SelectedIconName)
    GUISetState () ; will display an dialog box with 1 checkbox
    ; Run the GUI until the dialog is closed
    While 1
    $gMsg = GUIGetMsg()
    Switch $gMsg
    Case $_CI_IconRadios[0] To $_CI_IconRadios[29]
    For $i = 0 To 29
    If GUICtrlRead($_CI_IconRadios[$i]) = $GUI_CHECKED Then
    $_CI_SelectedIconName = 1*GUICtrlRead($_CI_Labels[$i])
    GUICtrlSetImage($_CI_Icon,$_CI_FileName,$_CI_SelectedIconName)
    GUICtrlSetState($_CI_OK,$GUI_ENABLE)
    ExitLoop
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Case $_CI_hFileSel
    $_CI_FileName = _CI_NewFileLoad( _
    FileOpenDialog("Select Icon file:", GUICtrlRead($_CI_hFile), "Icon-Files (*.exe;*.dll;*.ocx;*.icl;*.ico)") _
    ,$_CI_IconCount, $_CI_hFile)
    GUICtrlSetState($_CI_Back,$GUI_DISABLE)
    GUICtrlSetState($_CI_OK,$GUI_DISABLE)
    _CI_Update($_CI_IconRadios, $_CI_Labels, $_CI_hStatus, $_CI_StartIndex, $_CI_IconCount, $_CI_FileName, $_CI_SelectedIconName)

    [/autoit] [autoit][/autoit] [autoit]

    Case $_CI_Back
    If $_CI_StartIndex - 30 >= 0 Then $_CI_StartIndex -= 30
    If $_CI_StartIndex - 30 < 0 Then
    GUICtrlSetState($_CI_Back,$GUI_DISABLE)
    EndIf
    GUICtrlSetState($_CI_Next,$GUI_ENABLE)
    _CI_Update($_CI_IconRadios, $_CI_Labels, $_CI_hStatus, $_CI_StartIndex, $_CI_IconCount, $_CI_FileName, $_CI_SelectedIconName)

    [/autoit] [autoit][/autoit] [autoit]

    Case $_CI_Next
    If $_CI_StartIndex + 30 <= $_CI_IconCount Then $_CI_StartIndex += 30
    If $_CI_StartIndex + 30 > $_CI_IconCount Then
    GUICtrlSetState($_CI_Next,$GUI_DISABLE)
    EndIf
    GUICtrlSetState($_CI_Back,$GUI_ENABLE)
    _CI_Update($_CI_IconRadios, $_CI_Labels, $_CI_hStatus, $_CI_StartIndex, $_CI_IconCount, $_CI_FileName, $_CI_SelectedIconName)

    [/autoit] [autoit][/autoit] [autoit]

    Case $GUI_EVENT_CLOSE, $_CI_OK
    ExitLoop
    EndSwitch
    Wend
    GUIDelete($_CI_hGui)
    Opt("GuiOnEventMode",$_CI_oldEventMode)
    Local $arTemp[2] = [$_CI_FileName,$_CI_SelectedIconName]
    Return $arTemp
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _CI_Update(ByRef $_CI_IconRadios, ByRef $_CI_Labels, $_CI_hStatus, $_CI_StartIndex,ByRef $_CI_IconCount, $_CI_FileName, $_CI_SelectedIconName)
    For $iCntRow = 0 to 4
    For $iCntCol = 0 to 5
    $iCurIndex = $iCntRow * 6 + $iCntCol
    If ($iCurIndex + $_CI_StartIndex) > $_CI_IconCount Then
    GUICtrlSetState($_CI_IconRadios[$iCurIndex], $GUI_HIDE)
    GUICtrlSetState($_CI_Labels[$iCurIndex], $GUI_HIDE)
    Else
    GUICtrlSetState($_CI_IconRadios[$iCurIndex], $GUI_SHOW)
    GUICtrlSetState($_CI_Labels[$iCurIndex], $GUI_SHOW)
    GUICtrlSetState($_CI_IconRadios[$iCurIndex],$GUI_UNCHECKED)
    GUICtrlSetImage($_CI_IconRadios[$iCurIndex], $_CI_FileName, -($_CI_StartIndex + $iCurIndex))
    GUICtrlSetData($_CI_Labels[$iCurIndex], -($_CI_StartIndex + $iCurIndex))
    If -($_CI_StartIndex + $iCurIndex) = $_CI_SelectedIconName Then GUICtrlSetState($_CI_IconRadios[$iCurIndex],$GUI_CHECKED)
    EndIf
    Next
    Next
    GUICtrlSetData($_CI_hStatus, "Icons "& $_CI_StartIndex & "-"& _CI_MyMin(($_CI_StartIndex+ 29), $_CI_IconCount)& " von " & $_CI_IconCount _
    & " | Seite "& Ceiling(($_CI_StartIndex)/30)& "von " & Ceiling($_CI_IconCount/30))
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _CI_NewFileLoad($sTmpFile, ByRef $_CI_IconCount, $_CI_hFile)
    If Not FileExists($sTmpFile) Then Return -1
    If @error Then Return -1
    ;$glFileName = $sTmpFile
    GUICtrlSetData($_CI_hFile, $sTmpFile)
    $_CI_iStartIndex = 1
    $_CI_IconCount = _GetIconCount($sTmpFile)
    Return $sTmpFile
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; Function by YDY (Lazycat)
    Func _GetIconCount($sFilename)
    Local $iCount= DllCall("Shell32", "int", "ExtractIconEx", "str", $sFilename, "int", -1, "ptr", 0, "ptr", 0, "int", 1)
    If not @error Then Return $iCount[0]
    Return 0
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _CI_MyMin($1,$2)
    If Number($1) < Number($2) Then
    Return Number($1)
    Else
    Return Number($2)
    EndIf
    EndFunc

    [/autoit]
  • FileSetTime älter als 1980 nicht möglich?

    • Oscar
    • 23. Juni 2010 um 04:14

    Ich vermute mal, das liegt daran, wie Windows das Datum in der Datei speichert, denn das funktioniert auch mit anderen Programmen nicht.
    Von daher kann man das wohl nicht umgehen. :huh:

    BTW: Du hast eine Datei vor 1980 erstellt? :D

  • Multithreading

    • Oscar
    • 22. Juni 2010 um 20:18

    Schau Dir mal mein Shutdown-Tool an. Dort wird zwar zu einer bestimmten Uhrzeit der Shutdown ausgelöst, aber das läßt sich ja leicht ändern.

  • Ip-Liste zwischen zwei IPs

    • Oscar
    • 22. Juni 2010 um 16:33

    Normalerweise, und da würde ich Dir zustimmen, gibt man zuerst die Startadresse und dann die Zieladresse an. Aber bei dieser "Aufgabe" wollte ich halt ausschliessen, dass der gesamte Bereich abgedeckt werden muss.
    Das dauert nämlich wirklich ewig (hab's ausprobiert und irgendwann dann abgebrochen).

  • Ip-Liste zwischen zwei IPs

    • Oscar
    • 22. Juni 2010 um 16:26

    Ja, ok! Es kommt darauf an. Bei meiner Funktion wird immer die kleinere IP-Adresse als Startadresse benutzt.

    Aber abgesehen davon, wenn Du wirklich den Bereich (also bis 255.255.255.255 und dann wieder von 0.0.0.0) haben willst, dann wartest Du ewig. :D

  • Hintergrundbild löst Fehler mit IsHWnd aus

    • Oscar
    • 22. Juni 2010 um 16:15

    So (mit gesamten Skript) kann man aber sehen, woran es liegt.
    Bei Dir ist es, dass Du die GUIRegisterMsg bereits registrierst, bevor die GUI existiert.
    Pack die Zeilen mit GUIRegisterMsg unter GUISetState und es sollte funktionieren.

  • Ip-Liste zwischen zwei IPs

    • Oscar
    • 22. Juni 2010 um 15:12

    Und hier meine Variante:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    $sIP1 = '100.9.252.125'
    $sIP2 = '100.10.10.01'

    [/autoit] [autoit][/autoit] [autoit]

    $array = _IPListToArray($sIP1, $sIP2)
    _ArrayDisplay($array)

    [/autoit] [autoit][/autoit] [autoit]

    Func _IPListToArray($sIP1, $sIP2)
    Local $sTmp, $aIP1, $aIP2, $sOut = '', $sNew
    $aIP1 = StringSplit($sIP1, '.', 2)
    $sIP1 = StringFormat('%03i.%03i.%03i.%03i', $aIP1[0], $aIP1[1], $aIP1[2], $aIP1[3])
    $aIP2 = StringSplit($sIP2, '.', 2)
    $sIP2 = StringFormat('%03i.%03i.%03i.%03i', $aIP2[0], $aIP2[1], $aIP2[2], $aIP2[3])
    If $sIP2 < $sIP1 Then
    $sTmp = $sIP1
    $sIP1 = $sIP2
    $sIP2 = $sTmp
    EndIf
    $aIP1 = StringSplit($sIP1, '.', 2)
    Do
    $sNew = StringFormat('%03i.%03i.%03i.%03i', $aIP1[0], $aIP1[1], $aIP1[2], $aIP1[3])
    $sOut &= $sNew & '|'
    $aIP1[3] += 1
    If $aIP1[3] = 256 Then
    $aIP1[3] = 0
    $aIP1[2] += 1
    If $aIP1[2] = 256 Then
    $aIP1[2] = 0
    $aIP1[1] += 1
    If $aIP1[1] = 256 Then
    $aIP1[1] = 0
    $aIP1[0] += 1
    EndIf
    EndIf
    EndIf
    Until $sNew = $sIP2
    Return StringSplit(StringTrimRight($sOut, 1), '|')
    EndFunc

    [/autoit]
  • Listview von fornherein sortierbar per klick auf spalten überschriften ?

    • Oscar
    • 21. Juni 2010 um 13:27

    Weniger Aufwand?
    Ok, es geht auch so:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate('Listview-sortieren', 600, 400)
    $hListView = GUICtrlCreateListView('Spalte1|Spalte2|Spalte3', 10, 10, 580, 380)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To 9 ; zufällige ListView-Einträge erstellen
    GUICtrlCreateListViewItem(Random(1000, 9999, 1) & '|' & Random(1000, 9999, 1) & '|' & Random(1000, 9999, 1), $hListView)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    _GUICtrlListView_RegisterSortCallBack($hListView) ; damit man das Listview (mit Klick auf die Spaltenüberschrift) sortieren kann
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    _GUICtrlListView_UnRegisterSortCallBack($hListView)
    Exit
    Case $hListView ; User hat auf eine Spaltenüberschrift geklickt
    _GUICtrlListView_SortItems($hListView, GUICtrlGetState($hListView)) ; Einträge entsprechend sortieren
    EndSwitch
    WEnd

    [/autoit]

    Edit: Man benötigt das Handle gar nicht mehr. Das wurde wohl inzwischen geändert. :)

  • Makro um AutoIt SciTE zu starten?

    • Oscar
    • 20. Juni 2010 um 20:46

    Damit es auch unter einem 64Bit-System funktioniert, müsstest Du den RegPfad entsprechend anpassen.

    Oder gleich zu einem anderen Trick greifen:

    [autoit]


    $sPath = StringRegExpReplace(@AutoItExe, '(.+)\\.+', '$1') & '\SciTE\SciTE.exe'
    MsgBox(0, 'SciTE', $sPath)

    [/autoit]
  • Immer einen bestimmten Registrykey als TreeView anzeigen???

    • Oscar
    • 20. Juni 2010 um 15:26

    Es ist ja nicht die Frage gewesen, ob es mit "_GUICtrlTreeView_AddChild" auch funktioniert. Das Problem war ja eher die rekursive Funktion. ^^
    Aber es freut mich, dass Du es verstanden und jetzt auch entsprechend einsetzen kannst.

    Jetzt noch den Thread auf "gelöst" stellen (1. Post bearbeiten) und alle sind glücklich. :)

  • Autoit - Mehrere Checkboxen auslesen und status in variable/array packen

    • Oscar
    • 20. Juni 2010 um 13:12

    Hier muss ich deutlich widersprechen.
    Zum einen gibt es (gerade bei Checkboxen) mehr als diese beiden Zustände, siehe Beispiel:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate('test', 200, 80)
    $hCheckbox = GUICtrlCreateCheckbox('Bitte testen...', 10, 10, 80, 20, $BS_AUTO3STATE)
    GUISetState()
    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hCheckbox
    MsgBox(0,0,GUICtrlRead($hCheckbox))
    EndSwitch
    WEnd

    [/autoit]

    Und zum anderen liefert die "If BitAnd"-Variante genau das richtige Ergebnis, denn es kommt entweder 0 "False" oder eben der mit BitAnd verknüpfte Wert heraus, was AutoIt als "True" interpretiert.

  • Immer einen bestimmten Registrykey als TreeView anzeigen???

    • Oscar
    • 20. Juni 2010 um 12:57

    Ich hab's mal angepasst:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <TreeviewConstants.au3>
    #include <GuiTreeView.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    Opt('MustDeclareVars', 1)
    Opt("GUIDataSeparatorChar", "\")
    Global $treeview, $SkyBlue = 0x87CEEB
    Global $hive, $reg_hive, $reg_search_file, $reg_key, $reg_item, $reg_path, $parant, $root

    [/autoit] [autoit][/autoit] [autoit]

    Main()

    [/autoit] [autoit][/autoit] [autoit]

    Func Main()
    Local $window, $label, $title, $guimessage, $msg
    Local $btn_exit ,$btn1, $btn2, $btn3
    Local $icon_file = @ScriptDir & "\OwnPicture.dll"

    [/autoit] [autoit][/autoit] [autoit]

    Dim $aArray[3] = ["Directory", "Drive", "Folder"]
    Dim $bArray[5] = ["HKCR", "HKCU", "HKLM\", "HKU\" , "HKCC\"]

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $title = "" ; Hier einen Fenstertitel einfügen.
    $guimessage = " TreeView - Test" ; Hier einen Labeltext einfügen.
    $window = GUICreate($title,650, 550, -1, -1, 0x00030000)
    GUISetIcon($icon_file, 18, $window)
    $label = GUICtrlCreateLabel($guimessage, 10, 10, 280, 14)
    GUICtrlSetBkColor(-1, $SkyBlue)

    [/autoit] [autoit][/autoit] [autoit]

    $btn1 = GUICtrlCreateButton("TreeView", 580, 415, 60, 20)
    $btn2 = GUICtrlCreateButton("", 580, 440, 60, 20)
    $btn3 = GUICtrlCreateButton("", 580, 465, 60, 20)
    $btn_exit = GUICtrlCreateButton("Schließen", 580, 490, 60, 20)

    [/autoit] [autoit][/autoit] [autoit]

    $hive = GUICtrlCreateCombo($bArray[0], 10, 40, 65, 0x0003)
    $reg_search_file = GUICtrlCreateCombo($aArray[0], 80, 40, 130, 0x0003)

    [/autoit] [autoit][/autoit] [autoit]

    $treeview = GUICtrlCreateTreeView(10, 75, 380, 420)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To 2
    GUICtrlSetData($reg_search_file, $aArray[$i])
    Next
    For $i = 0 To 4
    GUICtrlSetData($hive, $bArray[$i])
    Next

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    GUIDelete()
    Exit
    Case $msg = $btn_exit
    Exit
    Case $msg = $btn1
    $reg_hive = _GUICtrlTreeView_DeleteAll($treeview)
    _BuildTree()

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $btn2

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $btn3

    [/autoit] [autoit][/autoit] [autoit]

    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _BuildTree()
    $root = GUICtrlCreateTreeViewItem(GUICtrlRead($hive), $treeview)
    $parant = GUICtrlCreateTreeViewItem(GUICtrlRead($reg_search_file), $root)
    $reg_path = GUICtrlRead($hive)& "\" & GUICtrlRead($reg_search_file)
    _GetRegData($reg_path, $parant)
    _GUICtrlTreeView_Expand($treeview)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _GetRegData($reg_path, $parant)
    Local $new, $iInstance = 0
    Do
    $iInstance += 1
    $reg_key = RegEnumKey($reg_path, $iInstance)
    If Not @error Then
    $new = GUICtrlCreateTreeViewItem($reg_key, $parant)
    _GetRegData($reg_path & "\" & $reg_key, $new)
    EndIf
    Until @error
    EndFunc

    [/autoit]
  • Verständnissproblem

    • Oscar
    • 20. Juni 2010 um 11:41

    Das &-Zeichen dient dem verknüpfen zweier Strings:

    [autoit]

    $body = GUICtrlRead($input1) & GUICtrlRead($input2)

    [/autoit]
  • Default Programmverzeichnis von Windows abfragen - Fehler bei x64 OS

    • Oscar
    • 20. Juni 2010 um 11:16

    Das Makro "@ProgramFilesDir" funktioniert bei mir (Win7, 64 Bit, AutoIt v3.3.6.1) einwandfrei:

    [autoit]


    #AutoIt3Wrapper_UseX64=n
    MsgBox(0, 'ProgramFilesDir', @ProgramFilesDir)

    [/autoit]


    Ergebnis: "C:\Program Files (x86)"

    [autoit]


    #AutoIt3Wrapper_UseX64=y
    MsgBox(0, 'ProgramFilesDir', @ProgramFilesDir)

    [/autoit]


    Ergebnis: "C:\Program Files"

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™