Hallo, ich grüße euch alle
vielleicht kann mir ja jemand weiter helfen...
und zwar würde ich gerne wissen ob es ein Script gibt zum ansteuern einer USB-Kamera. (speziell eine PS-3 USB-Kamera)
ich hoffe Ihr könnt mir irgendwie weiter helfen.....
Hallo, ich grüße euch alle
vielleicht kann mir ja jemand weiter helfen...
und zwar würde ich gerne wissen ob es ein Script gibt zum ansteuern einer USB-Kamera. (speziell eine PS-3 USB-Kamera)
ich hoffe Ihr könnt mir irgendwie weiter helfen.....
#NoTrayIcon
#include <array.au3>
#include <file.au3>
#include <Math.au3>
#Region Examples GetCommandNumber
Global $_SciTEParentPath = StringReplace(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\SciTE.exe", ""), "\SciTE.exe", '')
Global $_SciTEUserPropPath = @UserProfileDir & '\SciTEUser.properties'
Global $_au3PropPath = $_SciTEParentPath & '\Properties\au3.properties'
Local $CmdNr = _GetCmdNbToUse()
[/autoit] [autoit][/autoit] [autoit]ConsoleWrite(@CRLF & "+ free command number : " & $CmdNr & @CRLF & @CRLF)
#EndRegion Examples GetCommandNumber
#Region GetCommandNumber
Func _GetCmdNbToUse() ; The command number can be in the range of 0 to 49.
$_LastCmdNbInau3Prop = _GetLastCmdNbInFile($_au3PropPath)
If $_LastCmdNbInau3Prop = -1 Then Return SetError(1, 0, 0)
$_LastCmdNbInSciTEUserProp = _GetLastCmdNbInFile($_SciTEUserPropPath)
If $_LastCmdNbInSciTEUserProp = -1 Then Return SetError(1, 0, 1)
Return _Max($_LastCmdNbInau3Prop, $_LastCmdNbInSciTEUserProp) + 1
EndFunc ;==>_GetCmdNbToUse
Func _GetLastCmdNbInFile($_Au3_PropertiesPath)
Local $_FileReadArray
If Not _FileReadToArray($_Au3_PropertiesPath, $_FileReadArray) Then Return -1
$_FileReadArray = _DeleteArrayElementWithoutString($_FileReadArray, 'command.name.')
If $_FileReadArray = '' Then Return
Return Number(StringRegExpReplace(StringLeft($_FileReadArray[UBound($_FileReadArray) - 1], 16), '(?i)[^0-9]', ''))
EndFunc ;==>_GetLastCmdNbInFile
#EndRegion GetCommandNumber
#Region Array
Func _DeleteArrayElementWithoutString($_Array, $_String)
Local $_Item, $_SearchString
For $_Element In $_Array
If FileExists($_Element) Then
$_SearchString = FileRead($_Element)
Else
$_SearchString = $_Element
EndIf
If StringInStr($_SearchString, $_String) = 0 Then
_ArrayDelete($_Array, $_Item)
Else
$_Item += 1
EndIf
Next
Return ($_Array)
EndFunc ;==>_DeleteArrayElementWithoutString
#EndRegion Array
@fire4orce
Jetzt wo ich weiß wo mein Fehler lag, kommt es mir voll einfach vor.
Hab einfach vor lauter Bäumen den Wald nicht gesehen.
Hab mein altes Script leicht verändert und jetzt funktioniert es auch mit
"_GUICtrlTreeView_AddChild"
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <TreeviewConstants.au3>
#include <GuiTreeView.au3>
#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
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"
Dim $aArray[3] = ["Directory", "Drive", "Folder"]
Dim $bArray[5] = ["HKCR", "HKCU", "HKLM\", "HKU\" , "HKCC\"]
$title = "Geändert" ; 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)
$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)
$hive = GUICtrlCreateCombo($bArray[0], 10, 40, 65, 0x0003)
$reg_search_file = GUICtrlCreateCombo($aArray[0], 80, 40, 130, 0x0003)
$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
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()
Case $msg = $btn2
[/autoit] [autoit][/autoit] [autoit]Case $msg = $btn3
[/autoit] [autoit][/autoit] [autoit]EndSelect
WEnd
EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _BuildTree()
$reg_hive = _GUICtrlTreeView_Add($treeview, 0, GUICtrlRead($hive))
$parant = _GUICtrlTreeView_AddChild($treeview, $reg_hive, GUICtrlRead($reg_search_file))
$reg_path = GUICtrlRead($hive) & "\" & GUICtrlRead($reg_search_file)
_GetRegData($reg_path, $parant)
_GUICtrlTreeView_Expand($treeview)
EndFunc
Func _GetRegData($reg_path, $parant)
Local $ret, $i = 0, $new
While True
$i += 1
$reg_key = RegEnumKey($reg_path, $i)
If @error Then ExitLoop
$new = _GUICtrlTreeView_AddChild($treeview, $parant, $reg_key) ; $parant durch $new erstezt.
$ret = _GetRegData($reg_path & '\' & $reg_key, $new)
If $ret <> '' Then ExitLoop
WEnd
Return $ret
EndFunc
Zitat"Wer den Wald nicht sieht, sollte vielleicht mal nach Bäumen ausschau halten."
mit freundlichen Gruß an Oscar
vielen Dank.
wenn ich mir das so anschaue, kommt mir der Gedanke das ich mich total verirrt hatte
indem ich es die ganze Zeit immer mit "_GUICtrlTreeView_AddChild " versucht habe.
Deine Script bzw. Deine Änderungen sind erstmal kürzer und weniger umständlich.
ich danke Dir für Deine Hilfe
Hallo Oscar,
Die Auswahl des Registryschlüssels der als TreeView dargestellt werden soll, soll entweder über ein
Input_Controll oder Combo_Controll eingegeben werden.
Die Darstellung des TreeView soll die komplette tiefe des ausgewählten RegKey haben.
In meinen Versuchen scheitere ich immer wieder am ParantHandle des TreeViews.
Die Rekursive Programmierung wie bei einem Directory_TreeView bekomme ich nicht auf meinem TreeView übertragen ----- da habe ich
glaube ich ein totalen logischen Denkausfall und beß mir daran die Zähne aus.
GUI_Registry_Tree.au3
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <TreeviewConstants.au3>
#include <GuiTreeView.au3>
#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]Opt('MustDeclareVars', 1)
Opt("GUIDataSeparatorChar", "\")
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"
Global $treeview, $SkyBlue = 0x87CEEB
[/autoit] [autoit][/autoit] [autoit]Global $hive, $reg_hive, $reg_search_file, $reg_key, $reg_item, $reg_path, $parant
[/autoit] [autoit][/autoit] [autoit]Dim $aArray[3] = ["Directory", "Drive", "Folder"]
Dim $bArray[5] = ["HKCR", "HKCU", "HKLM\", "HKU\" , "HKCC\"]
$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)
$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)
$hive = GUICtrlCreateCombo($bArray[0], 10, 40, 65, 0x0003)
$reg_search_file = GUICtrlCreateCombo($aArray[0], 80, 40, 130, 0x0003)
$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
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()
Case $msg = $btn2
[/autoit] [autoit][/autoit] [autoit]Case $msg = $btn3
[/autoit] [autoit][/autoit] [autoit]EndSelect
WEnd
EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _BuildTree()
$reg_hive = _GUICtrlTreeView_Add($treeview, 0, GUICtrlRead($hive))
$parant = _GUICtrlTreeView_AddChild($treeview, $reg_hive, GUICtrlRead($reg_search_file))
$reg_path = GUICtrlRead($hive) & "\" & GUICtrlRead($reg_search_file)
_GetRegData($reg_path, $parant)
_GUICtrlTreeView_Expand($treeview)
EndFunc
Func _GetRegData($reg_path, $parant)
Local $ret, $i = 0
While True
$i += 1
$reg_key = RegEnumKey($reg_path, $i)
;~ MsgBox(0, "", $reg_key) ; dient nur zur Kontrolle.
If @error Then ExitLoop
$parant = _GUICtrlTreeView_AddChild($treeview, $parant, $reg_key)
[/autoit] [autoit][/autoit] [autoit]$ret = _GetRegData($reg_path & '\' & $reg_key, $parant)
[/autoit] [autoit][/autoit] [autoit]If $ret <> '' Then ExitLoop
[/autoit] [autoit][/autoit] [autoit]WEnd
Return $ret
EndFunc
Das Scripte sieht leider etwas durcheinander aus --- habe es auf die Schnelle grafisch etwas angepasst.
Gruß fire4orce@it
und schonmal ein dickes DANKE
Ich versuche immer nur eine bestimmte Abfrage eines Registrykeys in einem TreeView darzustellen,
aber ich scheitere immer am Parant-Handle, wodurch mein TreeView nicht so dargestellt wird wie er es eigentlich sollte.
Kann mir bitte irgendwer helfen ??? --- ich verzweifel sonst noch..............