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. bernd670

Beiträge von bernd670

  • Tail in GUI wird nicht mehr beendet.

    • bernd670
    • 25. Mai 2015 um 19:59

    Hallo,

    du wechselst in Zeile 216 in den OnEvent-Modus, arbeitest aber im MessageLoop-Modus (GuiGetMsg()), das geht so nicht. Entweder OnEvent- oder MessageLoop-Modus.

  • TeamSpeak 3 Probleme

    • bernd670
    • 25. Mai 2015 um 17:31

    Hallo,

    so sollte es auch aus dem SysTray wieder aktiviert werden!

    Spoiler anzeigen
    AutoIt
    #include <GuiToolbar.au3>
    
    
    $hTray = ControlGetHandle('[Class:Shell_TrayWnd]', '', '[Class:ToolbarWindow32;Instance:1]')
    
    
    For $i = 0 To _GUICtrlToolbar_ButtonCount($hTray) - 1
    	If StringRegExp(_GUICtrlToolbar_GetButtonText($hTray, _GUICtrlToolbar_IndexToCommand ($hTray, $i)), "TeamSpeak 3") Then
    		_GUICtrlToolbar_ClickIndex($hTray, $i)
    		ExitLoop
    	EndIf
    Next
    WinActivate("TeamSpeak 3")
    Alles anzeigen
  • StringRegExp Problem

    • bernd670
    • 24. Mai 2015 um 18:40

    Probiers mal so.

    AutoIt
    #include <array.au3>
    
    
    
    
    $szConns = ""
    
    
    $hConns = FileOpen("fc2_log.txt", 0)
    
    
    ; erstmal die benötigten Zeilen rausfiltern
    while 1
    	$szLine = FileReadLine($hConns)
    	if @error Then ExitLoop
    	If StringRegExp($szLine, "(SessionManager\s+accepting|Client\s+joined)") Then $szConns &= $szLine & @CRLF
    Wend
    FileClose($hConns)
    
    
    $aConns = StringRegExp($szConns, "(?s)SessionManager accepting new connection at ((?:\d{1,3}\.){3}\d{1,3})(?:(?!SessionManager accepting new connection).)+Client joined \((\w*?),",3)
    
    
    _ArrayDisplay($aConns)
    Alles anzeigen


    Edit:

    Probier mal diesen Pattern

    AutoIt
    #include <array.au3>
    
    
    
    
    $szConns = FileRead("FC2_log.txt")
    $aConns = StringRegExp($szConns, "(?s)SessionManager\s+accepting.*?((?:\d{1,3}\.){3}\d{1,3})(?:.(?!SessionManager\s+accepting))+?Client\s+joined\s+\((.*?),", 3)
    
    
    _ArrayDisplay($aConns)


    Der Teil (?:(?!SessionManager accepting new connection).)+ kann bei langen Texten sehr komplex werden, deshalb schmiert das Programm ab, ein (?:(?!SessionManager\s+accepting).??)+ sollte auch gehen.
    Ich habe gesehen das es auch Namen gibt die z. B. einen Punkt beinhalten, dann funktioniert \w*? nicht.

  • StringRegExp Problem

    • bernd670
    • 24. Mai 2015 um 16:55

    Hallo,

    habe gerade mal so probiert

    AutoIt
    #include <array.au3>
    
    
    $szConns = FileRead("conn.txt")
    $aConns = StringRegExp($szConns, "(?s)SessionManager accepting new connection at ((?:\d{1,3}\.){3}\d{1,3})(?:(?!SessionManager accepting new connection).)+Client joined \((\w*?),",3)
    
    
    _ArrayDisplay($aConns)

    als Ergebnis bekomme ich folgendes Array:

  • Script zum erstellen beliebig großer Labyrinthe

    • bernd670
    • 24. Mai 2015 um 16:06

    Habe es gar nicht erst probiert zu korrigieren, hab gleich gesehen das die ternären Operatoren falsch angewandt wurden. 8)

  • Script zum erstellen beliebig großer Labyrinthe

    • bernd670
    • 24. Mai 2015 um 15:15

    Hallo,

    mit der aktuellen Version funktioniert das Programm nicht.

    Fehlermeldungen
    Brainfuck
    >"AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "temp.au3" /UserParams    
    +>15:16:40 Starting AutoIt3Wrapper v.15.503.1200.1 SciTE v.3.5.4.0   Keyboard:00000407  OS:WIN_7/Service Pack 1  CPU:X64 OS:X64    Environment(Language:0407)
    +>         SciTEDir => AutoIt3\SciTE   UserDir => AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper   SCITE_USERHOME => AppData\Local\AutoIt v3\SciTE 
    >Running AU3Check (3.3.12.0)  from:AutoIt3  input:temp.au3
    "temp.au3"(88,232) : error: Statement cannot be just an expression.
    		($dir = 4 And Mod($dir, $cpx) < $cpx / 2) ? GUICtrlSetData($Progress1, 100 / ($xBlocks * $yBlocks - $xBlocks - $yBlocks) * $kasten, "") : Null ;seltene Üpadates Bremsen die Labyrinth berechnung nicht so sehr ((update dauert ewig)
    		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    "temp.au3"(90,272) : error: Statement cannot be just an expression.
    		($cpx <= 0 Or $cpy <= 0 Or $cpx >= $xBlocks Or $cpy >= $yBlocks) ? _backstep() : ($maze[$cpx][$cpy - 0x1] * $maze[$cpx][$cpy + 0x1] * $maze[$cpx + 0x1][$cpy] * $maze[$cpx - 0x1][$cpy] = True ? _backstep() : _math());alle felder belegt(backstep)oder noch eins frei(math)
    		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    "temp.au3"(156,133) : error: Statement cannot be just an expression.
    			(BitAND($maze[$i1][$i2], 0x1) = 0) ? GDIPlus_GraphicsDrawLine($buffer, $wi2, $i2 * $wi + 10, $wi2 + $wi, $i2 * $wi + 10) : Null;N
    			~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    "temp.au3"(157,146) : error: Statement cannot be just an expression.
    			(BitAND($maze[$i1][$i2], 0x2) = 0) ? GDIPlus_GraphicsDrawLine($buffer, $wi2 + $wi, $i2 * $wi + 10 + $wi, $wi2 + $wi, $i2 * $wi + 10) : Null ;O
    			~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    "temp.au3"(158,146) : error: Statement cannot be just an expression.
    			(BitAND($maze[$i1][$i2], 0x4) = 0) ? GDIPlus_GraphicsDrawLine($buffer, $wi2 + $wi, $i2 * $wi + 10 + $wi, $wi2, $i2 * $wi + 10 + $wi) : Null ;S
    			~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    "temp.au3"(159,133) : error: Statement cannot be just an expression.
    			(BitAND($maze[$i1][$i2], 0x8) = 0) ? GDIPlus_GraphicsDrawLine($buffer, $wi2, $i2 * $wi + 10, $wi2, $i2 * $wi + 10 + $wi) : Null;W
    			~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    "temp.au3"(226,20) : warning: $ghGDIPDll: possibly used before declaration.
    	DllCall($ghGDIPDll,
    	~~~~~~~~~~~~~~~~~~^
    "temp.au3"(226,20) : error: $ghGDIPDll: undeclared global variable.
    	DllCall($ghGDIPDll,
    	~~~~~~~~~~~~~~~~~~^
    temp.au3 - 7 error(s), 1 warning(s)
    !>15:16:40 AU3Check ended. Press F4 to jump to next error.rc:2
    +>15:16:40 AutoIt3Wrapper Finished.
    >Exit code: 2    Time: 0.7127
    Alles anzeigen
  • Programm aus Programm starten funktioniert nicht ganz

    • bernd670
    • 24. Mai 2015 um 15:09

    Hallo,

    du hast 2 Möglichkeiten, entweder du schreibst im Programm HandelsTool

    AutoIt
    Global $fileName = @ScriptDir & "\data\ini\StaedteHandelstool.ini"
    Global $fileNameWare = @ScriptDir & "\data\ini\Waren.ini"

    oder du rufst das Programm so auf

    [autoit]

    $pid = Run($SCRIPTPATH & "Data\Tools\Handelstool Fensterversion\Handelstool.exe", $SCRIPTPATH & "Data\Tools\Handelstool Fensterversion\")

    [/autoit]
  • DateDiff bestimmter Monat innerhalb eines Zeitraums

    • bernd670
    • 24. Mai 2015 um 06:24

    Hallo,

    Zitat von xbl38spezial

    Entschuldige, du hast völlig recht. Tatsächlich waren natürlich die Zeiträume 06.03.2016 - 31.03.2016 = 26 Tage und 01.04.2016 - 15.04.2016 = 15 Tage als Beispiele angedacht gewesen. Kleiner Vertipper

    Falls das jetzt wieder ein Vertipper war, bei mir wäre es 04.03.2016 - 31.03.2016 = 28 Tage, kannst du vielleicht diesen Code für dich anpassen.

    AutoIt
    #include <array.au3>
    #include <Date.au3>
    
    
    Const $cszMName[13] = ["", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" ]
    
    
    Local $szStartDate = "2016/03/04"
    Local $szEndeDate = "2016/04/15"
    Local $szFromDate, $szToDate
    
    
    Local $aMonate[1][2]
    
    
    $aMonate[0][0] = _DateDiff("M",$szStartDate, $szEndeDate) + 1
    
    
    For $i = 1 To $aMonate[0][0]
    	$szFromDate = ($i=1) ? $szStartDate : $szToDate
    	$szToDate = ($i = $aMonate[0][0]) ? _DateAdd("D", 1, $szEndeDate) : _DateAdd("M", 1, StringLeft($szFromDate,8) & "01")
    
    
    	$szJahr = StringLeft($szFromDate, 4)
    	$szMonat = StringMid($szFromDate,6,2)
    
    
    	_ArrayAdd($aMonate, $cszMName[$szMonat] & " " & $szJahr & "|" & _DateDiff("D",$szFromDate, $szToDate) & " Tage")
    Next
    
    
    
    
    _ArrayDisplay($aMonate)
    Alles anzeigen

    Bei dem anderen Problem versuch mal

    [autoit]

    GUICtrlRead($Summe6, _GUICtrlEdit_SetText($LeistungNach6, $Summe6))

    [/autoit]

    durch

    [autoit]

    GUICtrlSetData($LeistungNach6, $Summe6)

    [/autoit]

    zu ersetzen. Ansonsten bitte ein lauffähiges Beispiel-Programm posten das den Fehler erzeugt!

  • DateDiff bestimmter Monat innerhalb eines Zeitraums

    • bernd670
    • 23. Mai 2015 um 21:29

    Hallo,

    Zitat von xbl38spezial

    Über eingefügte Datepicker wird ein Dienstleistungszeitraum festgelegt, z.B. Beginn der Dienstleistung: 04.03.2016 - Ende der Dienstleistung: 15.04.2015.
    Da die Berechnungen aber monatlich stattfinden, währen das für besagten Dienstleistungszeitraum 2 Teilzeiträume.
    Daher 06.03.2015 - 28.03.2016 = 25 Tage und 01.04.2016 - 15.04.2016 = 15 Tage.

    Wenn der Dienstleistungszeitraum vom 04.03.2016 - 15.04.2016 geht, warum wird dann im März vom 06.03.2016 - 28.03.2016 gerechnet und nicht von 04.03.2016 - 31.03.2016?

  • Input inhalt löschen

    • bernd670
    • 22. Mai 2015 um 22:46

    Hallo,

    wenn du mal in die Hilfe geschaut hättest wäre dir bestimmt auch die Funktion ControlSetText aufgefallen. ;)

  • Skript funktioniert nur Teilweise, wenn nicht angemeldet

    • bernd670
    • 22. Mai 2015 um 13:35

    Hallo,

    auf welche Art wird den dein Programm gestartet und unter welchem Nutzer wird es gestartet?
    Das hört sich fast so an als wenn bei dem Nutzer unter dem das Programm läuft kein Drucker zur Verfügung steht.

    Ein kleiner Tipp zum Logging:
    Wenn man das Datum in der Reihenfolge

    [autoit]

    "G:\Temp\_" & @YEAR & "_" & @MON & "_" & @MDAY & "_" & "Verarbeitung.txt"

    [/autoit]

    zusammensetzt, dann sind die Logfiles immer schön chronologisch geordnet.

  • Kopieren von Dateien

    • bernd670
    • 21. Mai 2015 um 22:36

    Hallo,

    gerade mal 20 zeilen Code! So wie oben schon mal beschrieben!

    AutoIt
    #include <File.au3>
    #include <FileConstants.au3>
    
    
    $szInstallPath = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C814eu}_is1", "InstallLocation" )
    $szInstallPath &= "\res"
    $szBackupPath = @ScriptDir & "\Backup_" & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC
    $szSource = @ScriptDir & "\res"
    
    
    $aFL = _FileListToArrayRec($szSource, "*", $FLTAR_FILES, $FLTAR_RECUR)
    
    
    If StringRight($szInstallPath, 1) <> "\" Then $szInstallPath &= "\"
    If StringRight($szSource, 1) <> "\" Then $szSource &= "\"
    If StringRight($szBackupPath, 1) <> "\" Then $szBackupPath &= "\"
    
    
    For $iFL = 1 To $aFL[0]
    	; Wenn Datei im Zielordner existiert nach BackupPath kopieren
    	If FileExists($szInstallPath & $aFL[$iFL]) Then FileCopy($szInstallPath & $aFL[$iFL], $szBackupPath & $aFL[$iFL], $FC_CREATEPATH)
    	; Datei kopieren
    	FileCopy($szSource & $aFL[$iFL], $szInstallPath & $aFL[$iFL], $FC_OVERWRITE + $FC_CREATEPATH)
    Next
    Alles anzeigen
  • Warum mehr Arbeit als nötig? IDENTISCHES AUTOIT auf mehreren PC's

    • bernd670
    • 21. Mai 2015 um 16:14
    Zitat von Tengo

    Oder legt, was mir recht unwahrscheinlich erscheint, AutoIt/Scite derartige Info's gar in der Registry ab?

    Ja auch, unter HKEY_CURRENT_USER\Software\AutoIt v3

  • Tastenreihenfolge nach bestimmten Kriterien

    • bernd670
    • 21. Mai 2015 um 06:47

    Hallo und willkommen im Forum!

    • Da man die Funktionen Pixelsearch und Imageseach hauptsächlich zu BOT-Programmierung verwendet, wird es hier im Forum nicht gerne gesehen s. Forenregeln. Für die selten Fälle, in dennen es sich nicht um BOTs handelt, solltest du genau erklären für was du die Funktion benötigst. Meist gibt es bessere und sichere Wege ohne die oben genannten Funktionen.
    • Bitte keine Bilder von Quellcodes posten, sondern den QuellCode einfügen, ansonsten machst du es den helfenden schwer dein Code zu testen bzw. anzupassen!
  • Kopieren von Dateien

    • bernd670
    • 21. Mai 2015 um 06:26

    Hallo und willkommen im Forum!

    Du kannst z. B. einfach mit _FileListToArrayRec eine Liste von Quellordner erstellen.
    Dann für jedes Element in der Liste mit FileExists prüfen ob die Datei im Zielordner existiert, wenn ja die Datei aus dem Zielordern sichern, zippen oder was auch immer, danach Datei mit FileCopy kopieren.

    Beispiele findest du hier im Forum jede Menge, solltest du dennoch Probleme haben, kannst du deinen Quellcode hier posten.

  • Button: 1. -ändern der Farbe- und 2. -Name des Button per Tastatur (Hotkey) erreichen-.

    • bernd670
    • 20. Mai 2015 um 22:53

    Hallo,

    die Funktion _SetFocus hat einen kleinen Fehler, sie bekommt nämlich nicht mit wenn zwischendurch mal mit der Tab-taste weitergesprungen wird. Ich habe mal in das Beispiel von @BugFix ein paar kleine Änderungen eingebaut. Zusätzlich habe ich auch dem aktuellen Button nicht nur den Focus gegeben, sondern ihn auch den Status DefButton gegeben. Jetzt sollte der Blaue Rahmen auch mit springen. Dadurch ist auch gleich gewährleistet das der aktuelle Button mit Enter aktiviert werden kann.

    AutoIt
    #include <array.au3>
    
    
    $hGui = GUICreate('Test')
    $Button_A = GUICtrlCreateButton('A', 10, 10, 30, 20)
    $Button_B = GUICtrlCreateButton('B', 50, 10, 30, 20)
    $Button_C = GUICtrlCreateButton('C', 90, 10, 30, 20)
    $Button_D = GUICtrlCreateButton('D', 10, 50, 30, 20)
    $Button_E = GUICtrlCreateButton('E', 50, 50, 30, 20)
    $Button_F = GUICtrlCreateButton('F', 90, 50, 30, 20)
    $Button_G = GUICtrlCreateButton('G', 10, 90, 30, 20)
    $Button_H = GUICtrlCreateButton('H', 50, 90, 30, 20)
    $Button_I = GUICtrlCreateButton('I', 90, 90, 30, 20)
    $Dummy_Up = GUICtrlCreateDummy()
    $Dummy_Down = GUICtrlCreateDummy()
    $Dummy_Left = GUICtrlCreateDummy()
    $Dummy_Right = GUICtrlCreateDummy()
    
    
    GUICtrlSetState($Button_A, 768) ; Focus + Defbutton
    ;~ ControlFocus($hGui, '', $Button_A)
    Global $aAccelerators[4][2] = [['{UP}',$Dummy_Up],['{DOWN}',$Dummy_Down],['{LEFT}',$Dummy_Left],['{RIGHT}',$Dummy_Right]]
    GUISetAccelerators($aAccelerators, $hGui)
    
    
    GUISetState()
    
    
    While True
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case -3
    			Exit
    		Case $Dummy_Up
    			_SetFocus(0,-1)
    		Case $Dummy_Down
    			_SetFocus(0,1)
    		Case $Dummy_Left
    			_SetFocus(-1,0)
    		Case $Dummy_Right
    			_SetFocus(1,0)
    		Case $Button_A, $Button_B, $Button_C, $Button_D, $Button_E, $Button_F, $Button_G, $Button_H, $Button_I
    			ConsoleWrite('Clicked: ' & ControlGetText($hGui, '', $nMsg) & @CRLF)
    	EndSwitch
    WEnd
    
    
    Func _SetFocus($Spalte, $Zeile)
    	Local Static $aButton[3][3] = [[$Button_A,$Button_B,$Button_C],[$Button_D,$Button_E,$Button_F],[$Button_G,$Button_H,$Button_I]]
    	Local $iCurrentLine, $iCurrentRow
    
    
    	; Button mit Focus ermitteln, falls mal Tab gedrückt wurde
    	for $iLine = 0 To UBound($aButton, 1) - 1
    		for $iRow = 0 To UBound($aButton, 2) - 1
    			If ControlGetHandle($hGui, "", $aButton[$iLine][$iRow]) = ControlGetHandle($hGui, "", ControlGetFocus($hGui)) Then
    				$iCurrentLine = $iLine
    				$iCurrentRow = $iRow
    				ExitLoop 2
    			EndIf
    		Next
    	Next
    
    
    	$iCurrentLine += $Zeile
    	$iCurrentLine = $iCurrentLine > 2 ? 2 : ($iCurrentLine < 0 ? 0 : $iCurrentLine)
    	$iCurrentRow += $Spalte
    	$iCurrentRow = $iCurrentRow > 2 ? 2 : ($iCurrentRow < 0 ? 0 : $iCurrentRow)
    ;~ 	ControlFocus($hGui, '', $aButton[$iCurrentLine][$iCurrentRow])
    	GUICtrlSetState($aButton[$iCurrentLine][$iCurrentRow], 768) ; Focus + Defbutton
    
    
    
    
    EndFunc
    Alles anzeigen
  • Button: 1. -ändern der Farbe- und 2. -Name des Button per Tastatur (Hotkey) erreichen-.

    • bernd670
    • 20. Mai 2015 um 21:51

    Das sollte eigentlich schon gehen da ja der Focus mit ControlFocus jedesmal neu gesetzt wird.

  • Button: 1. -ändern der Farbe- und 2. -Name des Button per Tastatur (Hotkey) erreichen-.

    • bernd670
    • 20. Mai 2015 um 21:10

    Hallo,

    das ist einfacher als es aussieht, aber wie das so oft ist, wenn man erst mal weiß wie es geht versteht man auch die Bedienungsanleitung! ^^

    In der Hilfe findest du es übrigens unter dem Begriff Ternary.

    Es ist im Prinzip nicht mehr ein ein verkürzte If ... Then ... Else -Anweisung.

    Vor dem Fragezeichen steht die Bedingung, hinter dem Fragezeichen das was zugewiesen werden soll wenn die Bedingung erfüllt ist und nach dem Doppelpunkt, dass was zugewiesen werden soll wenn die Bedingung nicht erfüllt ist.

    [autoit]

    $iCurrentLine = $iCurrentLine > 2 ? 2 : ($iCurrentLine < 0 ? 0 : $iCurrentLine)

    [/autoit]


    heisst nichts anderes als

    AutoIt
    If $iCurrentLine > 2 Then
    	$iCurrentLine = 2
    Else
    	If $iCurrentLine < 0 Then
    		$iCurrentLine = 0
    	Else	                          ; nur der Vollständigkeitshalber, dieser Else-Zweig
    		$iCurrentLine = $iCurrentLine ; kann in diesem Fall auch weggelassen werden
    	EndIf
    EndIf
  • Systray Reste? Wie entfernen?

    • bernd670
    • 20. Mai 2015 um 15:11

    Hallo,

    mit der Maus gehts aber auch! ^^

    AutoIt
    $hTray = ControlGetHandle('[Class:Shell_TrayWnd]', '', '[Class:ToolbarWindow32;Instance:1]')
    $aWGP = WinGetPos($hTray) ; Grösse und Position vom Fenster mit den Icons
    
    
    $aMGP = MouseGetPos() ; aktuelle Mausposition merken
    BlockInput(1) ; Tastatur und Maus für Benutzer sperren
    
    
    ; Maus an obere linke Ecke des Fenster mit den Icons setzen
    MouseMove($aWGP[0], $aWGP[1], 1) ; könnte man auch weg lassen! ;)
    
    
    ; mit der Maus alle Icons im Fenster anfahren, 
    ; von link nach rechts und von oben nach unten 
    For $i = 16 To $aWGP[3] Step 32
    	For $j = 16 To $aWGP[2] Step 32
    		MouseMove($aWGP[0] + $j, $aWGP[1] + $i, 1) 
    	Next
    Next
    
    
    MouseMove($aMGP[0], $aMGP[1], 1) ; Maus wieder an gspeicherte Position setzen
    BlockInput(0) ; Tastatur und Maus wieder freigeben
    Alles anzeigen

    Edit: Kommentare eingefügt

  • Button: 1. -ändern der Farbe- und 2. -Name des Button per Tastatur (Hotkey) erreichen-.

    • bernd670
    • 19. Mai 2015 um 22:17

    Hallo,

    wie man es auch noch machen könnte.

    Auf die Ampersands komplett verzichten, funktionieren in dem Fall ja eh nicht richtig, dafür das ganze über HotKeySet definieren. Das hat den Vorteil, dass man auch Tastenkombinationen aus mehreren Tasten erstellen kann. Hier mal ein Beispiel für die ersten drei Befehle mit Alt+<Taste>

    AutoIt
    ;; Kombinationen für HotKeySet
    ;;      + = Shift
    ;;      ! = Alt
    ;;      ^ = Ctrl
    ;;      # = Win     (nur freie Tasten können belegt werden)
    ;;
    ;;  siehe auch Hilfe zum Send-Befehl
    ;;    
    ;;
    ;; Alt-a             = "!a"
    ;; Alt-Ctrl-a        = "!^a"
    ;; Alt-Shift-a       = "!+a" oder "!A"
    ;; Alt-Ctrl-Shift-a  = "!^+a" oder "!^A"
    
    
    
    
    HotKeySet("!a", "_taskschd")
    HotKeySet("!b", "_uac")
    HotKeySet("!c", "_CMD")
    Alles anzeigen

    Ist zwar etwa mehr Aufwand aber es sind dafür komplexere Kombinationen möglich. Der Nachteil ist das die Buchstaben dann nicht mehr hervorgehoben werden, dass kann man aber kompensieren wenn man die Kombination mit ins ToolTip-Fenster schreibt.

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™