Die Textcodierung hier im Forum ist UTF-8... und da wird es wohl so sein, dass die Anzahl der Bytes und nicht die Zeichen bzw. Glyphen gezählt werden, die übrigens bis zu 4 Byte verschlingen können.
Beiträge von Bitnugger
-
-
Ich denke nicht, dass es am Server liegt...
-
Da stimme ich alpines zu... müsste ich deinen sozialen Vorstellungen entsprechen, würde ich hier im Forum keine einzige Frage mehr stellen.
Ich bin hier im Forum auch schon über einige Threads gestolpert, auf die nicht geantwortet wurde... da könnte man jetzt auch sagen, das ist unsozial... was aber genauso falsch wäre.
Wenn ich es für sinnvoll halte, antworte ich auf Fragen anderer User... und freue mich natürlich auch, wenn meine Antwort hilfreich war... sollte der User keine Notiz von meiner Antwort nehmen, was er ja auch nicht muss, ist das auch ok - andere User mit ähnlicher Fragestellung freuen sich dafür evtl. umso mehr über meine Antwort.
-
Keine Ahnung... komisch ist nur, die Bitmap in einem Pic-Control anzeigen, oder die Dimensionen auslesen, geht... nur eben nicht Speichern.... auch nicht mit...
AutoIt; $sResNameOrID = $RT_BITMAP ; ... Local $hMod = _WinAPI_GetModuleHandle(Null) Local $hImage = _GDIPlus_BitmapCreateFromResource($hMod, $sResNameOrID) $bReturn = _GDIPlus_ImageSaveToFile($hImage, $sFilePath) _GDIPlus_ImageDispose($hImage) If @error Then MsgBox(64, @ScriptName, '$bReturn = ' & $bReturn & @CRLF & '@error = ' & @error & @CRLF & '@extended = ' & @extended & @CRLF & @CRLF & $sFilePath) ; ... -
Anstelle der resources.au3 solltest du vielleicht besser diese UDF verwenden: https://www.autoitscript.com/forum/topic/16…esourcesex-udf/
Doch genauso wie in der resources.au3 funktioniert auch hier das Speichern von Bitmaps nicht... und bin noch nicht dahinter gekommen, woran es liegt.
Für Autoit v3.3.14.3 musst du noch ein Include hinzufügen...
#include <WinAPISysWin.au3>
-
Zwei Fragen hätte ich dazu...
1.) Hast du den Schlüssel mit regedit exportiert?
2.) Welches Betriebssystem hast du?
-
SciteConfig ändert lediglich die folgenden Schlüssel...
AutoItCase $Msg = $h_Edit RunReqAdmin("RegWrite('HKEY_CLASSES_ROOT\AutoIt3Script\Shell', '', 'REG_SZ', 'Open')") RunReqAdmin("RegWrite('HKEY_CLASSES_ROOT\AutoIt3ScriptBeta\Shell', '', 'REG_SZ', 'Open')") Update_status('Updated registry default to Open.') ; Case $Msg = $h_Run RunReqAdmin("RegWrite('HKEY_CLASSES_ROOT\AutoIt3Script\Shell', '', 'REG_SZ', 'Run')") RunReqAdmin("RegWrite('HKEY_CLASSES_ROOT\AutoIt3ScriptBeta\Shell', '', 'REG_SZ', 'Run')") Update_status('Updated registry default to Run.')Damit wird wohl angegeben, aus welchem der Unterschlüssel das Command verwendet werden soll, wenn ein Doppelklick auf eine *.au3-Datei gemacht wird...
Bei Open (Default) werden diese verwendet...
HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Open\Command
HKEY_CLASSES_ROOT\AutoIt3ScriptBeta\Shell\Open\Command
Standard="C:\Program Files (x86)\AutoIt3\SciTE\SciTE.exe" "%1"
Bei Run diese...
HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Run\Command
HKEY_CLASSES_ROOT\AutoIt3ScriptBeta\Shell\Run\Command
für 32-Bit...
Standard="C:\Program Files (x86)\AutoIt3\AutoIt3.exe" "%1" %*
für 64-Bit...
Standard="C:\Program Files (x86)\AutoIt3\AutoIt3_x64.exe" "%1" %*
oder...wenn die Beta als Default benutzt werden soll...
für 32-Bit...
Standard="C:\Program Files (x86)\AutoIt3\Beta\AutoIt3.exe" "%1" %*
für 64-Bit...
Standard="C:\Program Files (x86)\AutoIt3\Beta\AutoIt3_x64.exe" "%1" %*
Das funktioniert allerdings nur dann, wenn die Dateierweiterung *.au3 mit AutoIt3.exe verknüpft ist, was von SciTE aber nicht geändert wird - deshalb habe ich es manuell gemacht!
Die Kontextmenüeinträge sind bei mir nur sichtbar, wenn ich die Dateierweiterung *.au3 mit der AutoIt3.exe aus dem Beta-Verzeichnis verknüpfe...
Unter Windows 10 Pro X64 konnte ich nur mit Trick 17 die Prod-AutoIt3.exe einstellen... dazu musste ich erst die Beta-AutoIt3.exe in AutoIt3_Beta.exe umbenennen... dann die Prod-AutoIt3.exe auswählen... und anschließend die Beta wieder umbenennen... danach stehen beide AutoIt3.exe zur Auswahl und auch das Wechseln funktioniert ohne Probleme. Anscheinend vergleicht Windows 10 beim Ändern der Anwendung nur den Dateinamen und nicht den kompletten Pfad...
Edit: Wenn der Standardwert des Schlüssels HKEY_CLASSES_ROOT\.au3 AutoIt3ScriptBeta ist, wird das Kontextmenü angezeigt, wenn *.au3 mit der Beta-AutoIt3.exe verknüpft ist, wenn dort AutoIt3Script steht, wird das Kontextmenü angezeigt, wenn *.au3 mit der Prod-AutoIt3.exe verknüpft ist.

-
Andy, dafür hast du dir eine glatte 1+ verdient!

In den ersten 3 Wochen meiner Programmiererlaufbahn (C 64) war wohl jeder 7. Befehl ein GOTO... und ich habe mich auch ein wenig schwer getan, darauf zu verzichten, doch weil es in einem "klugen Buch" so empfohlen wurde, habe ich es getan... und nach etwa 1 Woche habe ich das GOTO nicht mehr vermisst. Heute wüsste ich aber wohl gar nicht mehr, was ich damit anfangen sollte...

-
Oder so...
AutoIt
Alles anzeigen#Include <File.au3> Local $sFilePath = @DesktopDir & "\Neuer Ordner\" If Not FileExists($sFilePath) Then Exit ConsoleWrite('! $sFilePath existiert nicht!' & @CRLF) ; Dateiliste in Array einlesen Local $aFileList = _FileListToArray($sFilePath, "*", $FLTA_FILES) If @error Then Exit ConsoleWrite('! _FileListToArray Error: ' & @error & @CRLF) ; Erstellungsdatum der Dateien besorgen _ArrayColInsert($aFileList, 0) For $i = 1 To $aFileList[0][1] Step 1 $aFileList[$i][0] = FileGetTime($sFilePath & $aFileList[$i][1], $FT_CREATED, $FT_STRING) If $aFileList[$i][0] = 0 Then Exit ConsoleWrite('! FileGetTime Error: ' & $sFilePath & $aFileList[$i][1] & @CRLF) Next _ArraySort($aFileList, 1, 1) For $i = 1 To $aFileList[0][1] Step 1 ConsoleWrite(($i = 1 ? @CRLF & '! ' : $i = $aFileList[0][1] ? '- ' : '> ') & $aFileList[$i][0] & ' --> ' & StringRegExpReplace($aFileList[$i][0], '(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})', '\3.\2.\1 \4:\5:\6 ') & $aFileList[$i][1] & @CRLF) Next ConsoleWrite(@CRLF) ;~ FileDelete($sFilePath & $aFileList[1][1]) ; <-- jüngste Datei ;~ FileDelete($sFilePath & $aFileList[$aFileList[0][1]][1]) ; <-- älteste Datei -
Im Anhang findest du eine Demo mit NamedPipes...
-
Weißt du Zufällig auch noch wo dran das liegen kann, dass bei mir diese Auswahlmöglichkeiten weg sind ? Habe AutoIT und SciTE schon neuinstalliert, aber bekomme das Menü noch nicht angezeigt.
Dann hast du womöglich das normale SciTE und nicht SciTE4AutoIt3 installiert...
und meine au3 Icons sehen genau so aus wie die von .txt Dateien...
Dann ist die Dateierweiterung ".au3" nicht (mehr) mit SciTE verknüpft, wie es eigentlich der Fall sein sollte.
-
Was wohl geht, ist folgendes:
#AutoIt3Wrapper_Run_Debug_Mode=Y ;(Y/N) Run Script with console debugging. Default=N
-
Die Verwendung von Konstanten erspart einem aber auch oft sehr viel Zeit bei der Suche nach Fehlern und es ist meist auch auf dem ersten Blick erkennbar, wenn falsche Werte verwendet verwendet werden. Bei einer Magic Number kann ich mich schnell mal vertippen oder auch verrechnen... chesstiger hat das sehr schön formuliert.
Ich denke: Je wichtiger/gefählicher die Funktion, umso sparsamer sollte man mit Magic Numbers hantieren.
-
ControlClick($_handle,'',ControlID) ; Hier liegt das Problem
ControlID ist keine AutoIt-Variable und zudem auch unnötig, wenn du als ersten Parameter das Handle des Controls angibst. $_handle ist übrigens ein Window-Handle und kein Control-Handle, weshalb die Control-Funktionen evtl. nicht funktionieren.
AutoIt
Alles anzeigen;-- TIME_STAMP 2018-01-30 23:13:03 v 0.1 #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseX64=y #AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #Region ;************ Includes ************ #Include <Array.au3> #include <WinGetControls.au3> #EndRegion ;************ Includes ************ #RequireAdmin #NoTrayIcon Opt('MustDeclareVars', 1) If Not _CallTaskMgrDetails() Then MsgBox(64, 'Taskmanager - Details', 'Es ist ein Problem aufgetreten.' & @CRLF & _ 'Der Taskmanager konnte nicht' & @CRLF & _ 'im TAB "Details" gestartet werden.') EndIf Func _CallTaskMgrDetails() Local $iPID = Run(@SystemDir & '\Taskmgr.exe') If $iPID = 0 Then Return False Local $hTaskManagerWindow = WinWait('[CLASS:TaskManagerWindow]', '') Sleep(2000) Local $iMove = WinMove($hTaskManagerWindow, '', (@DesktopWidth / 2) - 600, (@DesktopHeight / 2) - 400, 1200, 800) Send('!M') Local $aControls = _WinGetControls($hTaskManagerWindow, $WGC_SHOWVISIBLE, False, False) _ArrayDisplay($aControls, '$aControls', '', 0, Default, 'HWND|CLASS|NN|ID|AU3|Visible|xPos|yPos|width|hight|Title|Text') Return SetExtended($iMove, $iPID) EndFunc ;==>_CallTaskMgrDetails -
Ich wollte nicht jedes Control einzeln verstecken.
Es gibt zwar keine Control-Gruppen in AutoIt, aber du kannst die Controls in einem Child-Window erstellen und diese dann als Control-Gruppen missbrauchen.
ControlGroups.au3
AutoIt
Alles anzeigen;-- TIME_STAMP 2018-01-25 19:03:55 v 0.1 #Region ;************ Includes ************ #include <Array.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #EndRegion ;************ Includes ************ Global $g_hMainGUI, $g_idButton_C, $g_aChildGUIs[3][10], $g_aGroups[3][2] Global $g_aDiffGuiColors = [0x667F7F, 0x440000, 0x004400, 0x000044] Global $g_aSameGuiColors = [0x667F7F, 0x667F7F, 0x667F7F, 0x667F7F] Global $g_aButtonColors = [0xC270CD, 0x5F3060, 0xFF8080, 0x7F4040, 0x80FF80, 0x407F40, 0x8080FF, 0x40407F, 0xD0FF00, 0x88B701, 0xA0FF00, 0x58B701] _Example() #Tidy_Off Func _Example() #Region - GUI Create $g_hMainGUI = GUICreate('MainGUI', 1000, 550, -1, -1, -1, $WS_EX_TOPMOST) GUISetBkColor($g_aDiffGuiColors[0], $g_hMainGUI) Local $idComboBox = GUICtrlCreateCombo('Wähle eine Gruppe aus...', 10, 10, 980, 25) GUICtrlSetData($idComboBox, 'Gruppe 1 anzeigen|Gruppe 2 anzeigen|Gruppe 3 anzeigen') Local $idButton_0 = _CreateButton('Hide all child', 10, 40, 980, 25, $g_aButtonColors[0], $g_aButtonColors[1]) Local $idButton_1 = _CreateButton('Toggle child 1, ignore all other childs', 10, 70, 320, 25, $g_aButtonColors[0], $g_aButtonColors[1]) Local $idButton_2 = _CreateButton('Toggle child 2, ignore all other childs', 340, 70, 320, 25, $g_aButtonColors[0], $g_aButtonColors[1]) Local $idButton_3 = _CreateButton('Toggle child 3, ignore all other childs', 670, 70, 320, 25, $g_aButtonColors[0], $g_aButtonColors[1]) Local $idButton_4 = _CreateButton('Show child 1, hide all other childs', 10, 100, 320, 25, $g_aButtonColors[0], $g_aButtonColors[1]) Local $idButton_5 = _CreateButton('Hide child 2, show all other childs', 340, 100, 320, 25, $g_aButtonColors[0], $g_aButtonColors[1]) Local $idButton_6 = _CreateButton('Show child 1, hide child 2, toggle child 3, ignore all other childs', 670, 100, 320, 25, $g_aButtonColors[0], $g_aButtonColors[1]) $g_idButton_C = _CreateButton('Switch GUI-BkColor', 10, 130, 980, 25, $g_aButtonColors[8], $g_aButtonColors[9]) Local $sButton_0_Search = 'Show|Hide', $sButton_0_Replace = 'Hide|Show', $aStates_Button_0 = [['?h'], ['?s']], $i0 = 0 Local $sButton_4_Search = 'Show|hide', $sButton_4_Replace = 'Hide|show', $aStates_Button_4 = [['1s', '?h'], ['1h', '?s']], $i4 = 0 Local $sButton_5_Search = 'Hide|show', $sButton_5_Replace = 'Show|hide', $aStates_Button_5 = [['2h', '?s'], ['2s', '?h']], $i5 = 0 Local $sButton_6_Search = 'Show|hide|toggle|ignore', $sButton_6_Replace = 'Hide|show|toggle|ignore', $aStates_Button_6 = [['1s', '2h', '3t', '?i'], ['1h', '2s', '3t', '?i']], $i6 = 0 Local $idButton_Focus = GUICtrlCreateButton('', 0, 0, 1, 1) Local $hButton_Focus = GUICtrlGetHandle($idButton_Focus) _CreateControlGroups() ControlFocus($hButton_Focus, '', '') GUISetState(@SW_SHOW, $g_hMainGUI) #EndRegion - GUI Create Local $iMsg, $iState, $sComboRead _SwitchControlGroups('?s') #Region - GUI SwitchLoop While True $iMsg = GUIGetMsg() Switch $iMsg Case $GUI_EVENT_CLOSE Exit Case $idComboBox ControlFocus($hButton_Focus, '', '') $sComboRead = StringRegExpReplace(GUICtrlRead($idComboBox), '.+(1|2|3).+', '\1s|?h') ConsoleWrite('$sComboRead = ' & $sComboRead & @CRLF) If Int($sComboRead) Then _SwitchControlGroups($sComboRead) Case $idButton_0 ; Show/Hilde all child ControlFocus($hButton_Focus, '', '') ConsoleWrite(StringFormat('\r\n+ %s\r\n', _ArrayToString($aStates_Button_0, '|', $i0, $i0))) _SwitchControlGroups(_ArrayToString($aStates_Button_0, '|', $i0, $i0)) _Toggle($idButton_0, $sButton_0_Search, $sButton_0_Replace) $i0 = $i0 = 0 ? 1 : 0 ConsoleWrite(StringFormat('\r\n+ %s\r\n', _ArrayToString($aStates_Button_0, '|', $i0, $i0))) Case $idButton_1 ; Toggle child 1, ignore all other childs ControlFocus($hButton_Focus, '', '') _SwitchControlGroups('1t|?i') Case $idButton_2 ; Toggle Child 2, ignore all other childs ControlFocus($hButton_Focus, '', '') _SwitchControlGroups('2t|?i') Case $idButton_3 ; Toggle Child 3, ignore all other childs ControlFocus($hButton_Focus, '', '') _SwitchControlGroups('3t|?i') Case $idButton_4 ; Toggle "Show child 1, hide all other childs" ControlFocus($hButton_Focus, '', '') ConsoleWrite(StringFormat('\r\n+ %s\r\n', _ArrayToString($aStates_Button_4, '|', $i4, $i4))) _SwitchControlGroups(_ArrayToString($aStates_Button_4, '|', $i4, $i4)) _Toggle($idButton_4, $sButton_4_Search, $sButton_4_Replace) $i4 = $i4 = 0 ? 1 : 0 ConsoleWrite(StringFormat('! %s\r\n', _ArrayToString($aStates_Button_4, '|', $i4, $i4))) Case $idButton_5 ; Toggle "Hide child 2, show all other childs" ControlFocus($hButton_Focus, '', '') ConsoleWrite(StringFormat('\r\n+ %s\r\n', _ArrayToString($aStates_Button_5, '|', $i5, $i5))) _SwitchControlGroups(_ArrayToString($aStates_Button_5, '|', $i5, $i5)) _Toggle($idButton_5, $sButton_5_Search, $sButton_5_Replace) $i5 = $i5 = 0 ? 1 : 0 ConsoleWrite(StringFormat('! %s\r\n', _ArrayToString($aStates_Button_5, '|', $i5, $i5))) Case $idButton_6 ; Toggle "Show child 1, hide child 2, toggle child 3, ignore all other childs" ControlFocus($hButton_Focus, '', '') ConsoleWrite(StringFormat('\r\n+ %s\r\n', _ArrayToString($aStates_Button_6, '|', $i6, $i6))) _SwitchControlGroups(_ArrayToString($aStates_Button_6, '|', $i6, $i6)) _Toggle($idButton_6, $sButton_6_Search, $sButton_6_Replace) $i6 = $i6 = 0 ? 1 : 0 ConsoleWrite(StringFormat('! %s\r\n', _ArrayToString($aStates_Button_6, '|', $i6, $i6))) Case $g_idButton_C ControlFocus($hButton_Focus, '', '') _SwitchChildsBkColor() Case $g_aGroups[0][0] To $g_aGroups[0][1] ControlFocus($hButton_Focus, '', '') Switch $iMsg Case $g_aChildGUIs[0][1] MsgBox(262208, 'Button gedrückt', 'ChildGUI_1 Button_1') Case $g_aChildGUIs[0][2] MsgBox(262208, 'Button gedrückt', 'ChildGUI_1 Button_2') Case $g_aChildGUIs[0][3] MsgBox(262208, 'Button gedrückt', 'ChildGUI_1 Button_3') EndSwitch Case $g_aGroups[1][0] To $g_aGroups[1][1] ControlFocus($hButton_Focus, '', '') Switch $iMsg Case $g_aChildGUIs[1][1] MsgBox(262208, 'Button gedrückt', 'ChildGUI_2 Button_1') Case $g_aChildGUIs[1][2] MsgBox(262208, 'Button gedrückt', 'ChildGUI_2 Button_2') Case $g_aChildGUIs[1][3] MsgBox(262208, 'Button gedrückt', 'ChildGUI_2 Button_3') Case $g_aChildGUIs[1][4] MsgBox(262208, 'Button gedrückt', 'ChildGUI_2 Button_4') EndSwitch Case $g_aGroups[2][0] To $g_aGroups[2][1] ControlFocus($hButton_Focus, '', '') Switch $iMsg Case $g_aChildGUIs[2][1] MsgBox(262208, 'Button gedrückt', 'ChildGUI_3 Button_1') Case $g_aChildGUIs[2][2] MsgBox(262208, 'Button gedrückt', 'ChildGUI_3 Button_2') Case $g_aChildGUIs[2][3] MsgBox(262208, 'Button gedrückt', 'ChildGUI_3 Button_3') Case $g_aChildGUIs[2][4] MsgBox(262208, 'Button gedrückt', 'ChildGUI_3 Button_4') Case $g_aChildGUIs[2][5] MsgBox(262208, 'Button gedrückt', 'ChildGUI_3 Button_5') EndSwitch ;~ Case Else EndSwitch WEnd #EndRegion - GUI SwitchLoop EndFunc ;==>_Example Func _SwitchControlGroups($vID) ; ? = Other Childs, i = Ignore, h = Hide, s = Show, t = Toggle Local $iState, $sShow, $iIndex, $aChilds[1], $aSplit, $hWnd, $hChild If IsArray($vID) Then $aChilds = $vID ElseIf StringInStr($vID, '|') Then $aChilds = StringSplit($vID, '|', 2) Else $aChilds[0] = $vID EndIf ConsoleWrite('! $vID = ' & $vID & @CRLF) ConsoleWrite('! $aChilds = ' & _ArrayToString($aChilds, '|') & @CRLF) $iIndex = _ArraySearch($aChilds, '?', 0, 0, 0, 1) If $iIndex > -1 Then $aSplit = StringRegExp($aChilds[$iIndex], '(\d+|\?)(\w)', 1) If @error Then Return SetError(1, $iIndex, False) _ArrayDelete($aChilds, $iIndex) If $aSplit[1] <> 'i' Then ConsoleWrite('- $aSplit = ' & _ArrayToString($aSplit, '|') & @CRLF) $sShow = $aSplit[1] For $i = 0 To UBound($g_aChildGUIs) - 1 Step 1 $hWnd = $g_aChildGUIs[$i][0] $iIndex = $i For $j = 0 To UBound($aChilds) - 1 Step 1 $aSplit = StringRegExp($aChilds[$j], '(\d+|\?)(\w)', 1) $hChild = $g_aChildGUIs[$aSplit[0] - 1][0] If $hWnd = $hChild Then $iIndex = -1 Next If $iIndex > -1 Then ConsoleWrite('> $hWnd = ' & $hWnd & @CRLF) $hWnd = $g_aChildGUIs[$iIndex][0] Switch True Case $sShow = 'h' $iState = @SW_HIDE Case $sShow = 's' $iState = @SW_SHOW Case $sShow = 't' $iState = BitAND(WinGetState($hWnd), 2) ? @SW_HIDE : @SW_SHOW EndSwitch GUISetState($iState, $hWnd) EndIf Next EndIf EndIf For $i = 0 To UBound($aChilds) - 1 Step 1 $aSplit = StringRegExp($aChilds[$i], '(\d+|\?)(\w)', 1) If @error Or $aSplit[0] < 1 Then Return SetError(1, $i, False) ConsoleWrite('+ $aSplit = ' & _ArrayToString($aSplit, '|') & @CRLF) $hChild = $g_aChildGUIs[$aSplit[0] - 1][0] ConsoleWrite('+ $hChild = ' & $hChild & @CRLF) Switch True Case $aSplit[1] = 'h' $iState = @SW_HIDE Case $aSplit[1] = 's' $iState = @SW_SHOW Case $aSplit[1] = 't' $iState = BitAND(WinGetState($hChild), 2) ? @SW_HIDE : @SW_SHOW EndSwitch GUISetState($iState, $hChild) Next Return True EndFunc ;==>_SwitchControlGroups Func _SwitchChildsBkColor() Local Static $iSwitch = 0, $aBtnColor = [[8, 9], [10, 11]] Local $aColors = $iSwitch = 0 ? $g_aSameGuiColors : $g_aDiffGuiColors GUISetBkColor($aColors[0], $g_hMainGUI) GUISetBkColor($aColors[1], $g_aChildGUIs[0][0]) GUISetBkColor($aColors[2], $g_aChildGUIs[1][0]) GUISetBkColor($aColors[3], $g_aChildGUIs[2][0]) GUICtrlSetColor($g_idButton_C, $g_aButtonColors[$aBtnColor[$iSwitch][0]]) GUICtrlSetBkColor($g_idButton_C, $g_aButtonColors[$aBtnColor[$iSwitch][1]]) $iSwitch = $iSwitch = 0 ? 1 : 0 EndFunc ;==>_SwitchChildsBkColor Func _GetGroupsMinMaxIDs() Local $j For $i = 0 To UBound($g_aGroups) - 1 Step 1 If $g_aChildGUIs[$i][$j] = '' Then ContinueLoop $j = 1 $g_aGroups[$i][0] = $g_aChildGUIs[$i][$j] Do $j += 1 Until $g_aChildGUIs[$i][$j] = '' Or $j >= UBound($g_aChildGUIs, 2) $g_aGroups[$i][1] = $j < UBound($g_aChildGUIs, 2) ? $g_aChildGUIs[$i][$j - 1] : $g_aGroups[$i][0] Next EndFunc ;==>_GetGroupsMinMaxIDs Func _Toggle($idCtrl, ByRef $sSearch, ByRef $sReplace) Local $sTemp, $aSearch = StringSplit($sSearch & '|#', '|', 2), $aReplace = StringSplit($sReplace & '|#', '|', 2) If @error Or UBound($aSearch) <> UBound($aReplace) Then Exit 9999 For $i = 0 To UBound($aSearch) - 2 Step 1 If $i = 0 Then $sTemp = GUICtrlRead($idCtrl) $sTemp = StringReplace($sTemp, $aSearch[$i], $aReplace[$i], 1, 1) Next GUICtrlSetData($idCtrl, $sTemp) $sTemp = $sSearch $sSearch = $sReplace $sReplace = $sTemp EndFunc ;==>_Toggle Func _CreateControlGroups() $g_aChildGUIs[0][0] = GUICreate('ChildGUI_1', 900, 100, 10, 175, $WS_CHILD, -1, $g_hMainGUI) GUISetBkColor(0x440000, $g_aChildGUIs[0][0]) $g_aChildGUIs[0][1] = _CreateButton('ChildGUI_1 Button_1', 10, 10, 250, 25, 0xFF8080, 0x7F4040) $g_aChildGUIs[0][2] = _CreateButton('ChildGUI_1 Button_2', 270, 10, 250, 25, 0xFF8080, 0x7F4040) $g_aChildGUIs[0][3] = _CreateButton('ChildGUI_1 Button_3', 530, 10, 250, 25, 0xFF8080, 0x7F4040) $g_aChildGUIs[1][0] = GUICreate('ChildGUI_2', 900, 100, 50, 300, $WS_CHILD, -1, $g_hMainGUI) GUISetBkColor(0x004400, $g_aChildGUIs[1][0]) $g_aChildGUIs[1][1] = _CreateButton('ChildGUI_2 Button_1', 10, 10, 250, 25, 0x80FF80, 0x407F40) $g_aChildGUIs[1][2] = _CreateButton('ChildGUI_2 Button_2', 270, 10, 250, 25, 0x80FF80, 0x407F40) $g_aChildGUIs[1][3] = _CreateButton('ChildGUI_2 Button_3', 530, 10, 250, 25, 0x80FF80, 0x407F40) $g_aChildGUIs[1][4] = _CreateButton('ChildGUI_2 Button_4', 10, 50, 770, 25, 0x80FF80, 0x407F40) $g_aChildGUIs[2][0] = GUICreate('ChildGUI_3', 900, 100, 90, 425, $WS_CHILD, -1, $g_hMainGUI) GUISetBkColor(0x000044, $g_aChildGUIs[2][0]) $g_aChildGUIs[2][1] = _CreateButton('ChildGUI_3 Button_1', 10, 10, 250, 25, 0x8080FF, 0x40407F) $g_aChildGUIs[2][2] = _CreateButton('ChildGUI_3 Button_2', 270, 10, 250, 25, 0x8080FF, 0x40407F) $g_aChildGUIs[2][3] = _CreateButton('ChildGUI_3 Button_3', 530, 10, 250, 25, 0x8080FF, 0x40407F) $g_aChildGUIs[2][4] = _CreateButton('ChildGUI_3 Button_4', 10, 50, 380, 25, 0x8080FF, 0x40407F) $g_aChildGUIs[2][5] = _CreateButton('ChildGUI_3 Button_5', 400, 50, 380, 25, 0x8080FF, 0x40407F) _GetGroupsMinMaxIDs() EndFunc ;==>_CreateControlGroups Func _CreateButton($sText, $x, $y, $w, $h, $sColor = 0x8F8F8F, $sBkColor = 0x2F2F2F) Local $idButton = GUICtrlCreateButton($sText, $x, $y, $w, $h) GUICtrlSetColor(-1, $sColor) GUICtrlSetBkColor(-1, $sBkColor) Return $idButton EndFunc ;==>_CreateButton -
habs hinzugefügt.
Allerdings nur bei den deutschen Beschreibungen. Bei den englischen Beschreibungen habe ich nichts geändert.
Super!
Allerdings bin ich erstaunt, dass du die englischen Beschreibungen nicht geändert hast, denn dir macht doch keiner Vorschriften, was du ändern darfst, und was nicht... zumal solche Änderungen sicher auch ein Anreiz für die Herren im blauen Forum wäre, einige davon zu übernehmen.
WinWait
F: timeout [optional] Maximale Unterbrechungsdauer nach der fortgefahren wird, auch wenn das Fenster noch nicht existiert. Standardwert ist 0 (es wird ewig gewartet).
R: timeout [optional] Maximale Unterbrechungsdauer in Sekunden, nach der fortgefahren wird, wenn das Fenster nicht existiert. Standardwert ist 0 (es wird ewig gewartet).
K: Sekunden fehlen...
-
Warum der Hotkey nicht funktioniert, kann ich mir auch nicht erklären.AutoIt
ConsoleWrite("HotKeySet('^!f', '_Test') ; Ctrl+Alt+f = " & (HotKeySet('^!f', '_Test') = 1) & @CRLF) ConsoleWrite("HotKeySet('^!F', '_Test') ; Ctrl+Alt+F = " & (HotKeySet('^!F', '_Test') = 1) & @CRLF) While 1 Sleep(100) WEnd Func _Test() ConsoleWrite('_Test: @HotKeyPressed = ' & @HotKeyPressed & @CRLF) Exit EndFuncAusgabe:
CodeHotKeySet('^!f', '_Test') ; Ctrl+Alt+f = False HotKeySet('^!F', '_Test') ; Ctrl+Alt+F = True _Test: @HotKeyPressed = ^!FSciteUser.properties
Code# command.shortcut.36.*=Ctrl+Alt+F - funktioniert nicht! # command.shortcut.36.*=Ctrl+Alt+f - funktioniert nicht! # command.shortcut.36.*=Ctrl+Alt+Shift+f - funktioniert! # command.shortcut.36.*=Ctrl+Alt+Shift+F - funktioniert!Doch welches Mistvieh Ctrl+Alt+f belegt hat, habe ich noch nicht herausfinden können...
-
Was funktioniert denn nicht?
In dem von mir genannten Beispiel ist der Link klickbar... aber in der Hilfe sind viele Beispiele, bei denen es nicht der Fall ist.
Hier ist ein paar Beispiele:
$tagRECT: _WinAPI_CreateRectEx, _WinAPI_CreateRect, _WinAPI_CreateRectRgnIndirect, _WinAPI_DrawFocusRect, _WinAPI_DrawAnimatedRects, _WinAPI_RectIsEmpty, ...
$tagMENUITEMINFO: _GUICtrlMenu_GetItemInfo, _GUICtrlMenu_InsertMenuItemEx
$tagWIN32_FIND_STREAM_DATA: _WinAPI_FindNextStream, _WinAPI_SetWindowPlacement$tagWINDOWPOS: _GUICtrlHeader_Layout
$tagWIN32_FIND_DATA: _WinAPI_FindFirstFile
-
1.)
Wenn du nur einen Pfeil verwendest ">", dann wird das ganze an das Dateiende angehangen und nicht überschrieben.
Da behaupte ich jetzt mal frech: Das ist doch mit Sicherheit gelogen.

Ein ">" bedeutet, dass die Ausgabe in eine Datei umgeleitet wird, die - falls sie existiert - überschrieben wird.
Zwei ">>" bedeuten, dass die Ausgabe in eine Datei umgeleitet wird, die - falls sie bereits existiert - der Inhalt an das Ende angehangen wird.
Der Code ist nicht schön, aber funktioniert ... zumindest meistens.
Da würde ich jede Wette eingehen, dass dem nicht so ist!!!
Funktioniert bedeutet bei mir, das ein Script zumindest in 99,8% aller Fälle die von mir erwarteten Ergebnisse liefert... was aber absolut unmöglich ist, wenn nicht mal die einfachsten Grundbausteine korrekt umgesetzt werden, wie es in deinem Script der Fall ist!
Ich wollte dir zuerst alle fehlerhaften Zeilen aufzeigen... aber entschieden weniger Arbeit ist es, wenn ich dir ein einfaches Beispiel zeige.
AutoIt: StdoutRead
Alles anzeigen;-- TIME_STAMP 2018-01-19 01:09:51 v 0.1 #Region ;************ Includes ************ #Include <File.au3> #EndRegion ;************ Includes ************ Local $aMatch = _ReadStdout() _ArrayDisplay($aMatch, '$aMatch') Func _ReadStdout() Local $sOutput, $iPID = Run(StringFormat('%s /C dir /B /A-D /S "m:\Autoit\*.au3"|findstr /M /R "[_WinAPI|_Crypt]"', @ComSpec), '', @SW_Hide, $STDOUT_CHILD) ProcessWaitClose($iPID) While 1 $sOutput &= StdoutRead($iPID) If @error Then ExitLoop WEnd Return StringSplit(StringTrimRight(StringStripCR($sOutput), StringLen(@CRLF)), @CRLF) EndFunc -