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

Beiträge von BugFix

  • 2 Dienste, die gegenseitig voneinander abhängig sind - wie Abhängigkeit auflösen? GELÖST

    • BugFix
    • 2. April 2016 um 10:54

    Ich habe letztens auf einem PC folgendes vorgefunden:
    - Dienst "Telefonie": Starttyp "Automatisch", Status "Wird gestartet" (ändert sich nicht), abhängig von Dienst "RAS Verbindungsverwaltung"
    - Dienst "RAS Verbindungsverwaltung": Starttyp "Automatisch", Status "Gestartet", abhängig von Dienst (u.a.) "Telefonie"

    Es gelingt mir nicht, den Dienst "Telefonie" zu beenden. Weder per Interaktion im Dienstemenü, noch per Kommandozeilenbefehl. Ursache dafür ist entweder die Tatsache, dass der Dienst ewig im Status "Wird gestartet" verbleibt und/oder dass die Dienste sich wechselseitig bedingen (wie eine Katze, die sich in den Schwanz beißt :D ).
    Ich wollte nun erst mal probieren, ob durch Lösen der Abhängigkeiten der Dienst "Telefonie" beendet werden kann. In der Registry werden Abhängigkeiten unter HKLM\System\CurrentControlset\Services\- dann der entsprechende Servicename und dann der Wert "DependOnService" erfasst. Somit kann ich per Registry-Eingriff das manipulieren. Aber gibt es evtl. auch eine Möglichkeit ohne Registry-Eingriff zum Ziel zu kommen? Rumfummeln an der Registry ist für mich immer das letzte Mittel der Wahl.

    Achja - warum das Ganze: Dadurch, dass der Telefoniedienst nie startet, bekomme ich im (ca.) 30 Sekundentakt immer einen neuen Eintrag im Systemprotokoll: "...Dienst konnte nicht gestartet werden". Das müllt immer das Protokoll zu, sodass der User beim Start mit einer Warnung (Protokoll voll) begrüßt wird. Auswirkungen auf den PC selbst hat es nicht, da der Telefoniedienst eh nicht gebraucht wird. Aber der User ist dann verunsichert.

  • Eigene Funktionen eines Tools in UDF ausgliedern?

    • BugFix
    • 1. April 2016 um 16:20
    Zitat von teamnoobPDB

    ich glaube das hab ich mal bei @BugFix gesehen

    Ja ^^ - nur dass ich das Dictionary für die Ctrl als Local Static innerhalb der ManageVars-Funktion führe, somit keine globalen Vars :thumbup:

  • Eigene Funktionen eines Tools in UDF ausgliedern?

    • BugFix
    • 1. April 2016 um 09:11
    Zitat von Bioshade

    autoBert: Brauch ich nicht testen weil ich so einen Unfug nie machen würde.

    @Bioshade: Und schon ist man mal wieder im schönsten Krieg der Paradigmen. Was du so leichthin als Unfug bezeichnest, ist für andere der heilige Gral der Programmierung (Vermeidung Globaler Variablen). Die Diskussion dazu führt zu keinem (sinnvollen) Ergebnis, da die Vertreter beider Seiten keinen Jota von ihrer Meinung abrücken werden (sonst würdest du solch ein Vorgehen ja kaum als Unfug bezeichnen).
    Ich tendiere da auch in Richtung @Andy - Das Ergebnis sollte vor allem zählen. Vorgaben sind auch immer ein Stück weit Restriktionen. Warum soll man sich zu etwas zwingen, was man selbst als nicht sinnvoll erachtet und ohne dessen man auch zum Ziel kommt?
    Natürlich ist ein Skript, dass schön strukturiert, modular aufgebaut und so für evtl. spätere Änderungen bereit ist eine Augenweide. Aber wie @Andy bereits anmerkte, wird das außer auf der Programmierebene niemand zur Kenntnis nehmen (können) und dem Anwender ist es eh schnuppe und egal.

    Fazit:
    Ich persönlich erachte saubere Strukturen als prima, verdamme aber niemanden, der es nicht gebacken bekommt, wenn am Ende ein gutes Produkt steht.

  • ComboBox - Align im Editfeld und Controlhöhe beî Dropdown-Style

    • BugFix
    • 20. März 2016 um 09:50

    Die Combobox/Ex-UDF bieten viele Funktionen - aber keine Möglichkeit zur Textausrichtung. Bei reinen Texteinträgen ist meist linksbündig passend aber wenn man Zahlenwerte in der Box hat ist rechtsbündig zu bevorzugen. Die Funktion zum Ausrichten habe ich hier erstellt.
    Die zweite Funktion betrifft die optische Darstellung der Box (im Dropdown-Style). Für ein geschmeidiges Aussehen möchte man Ctrl, die nebeneinander liegen, auch gern in einer Höhe zeichnen. Dazu war bisher auch keine Funktion vorgesehen.

    Das nachfolgende Bsp. zeigt die Funktionen und ihre Anwendung:

    AutoIt
    #include <GuiComboBox.au3>
    
    
    Example()
    
    
    Func Example()
    	Local $hGUI = GUICreate("Example", 300, 200)
    	Local $idComboBox = GUICtrlCreateCombo("Item 1", 10, 10, 185)
    	GUICtrlSetData($idComboBox, "Item 2|Item 3", "Item 2")
    
    
    	_GuiCtrlComboBox_SetCtrlHeight($idComboBox, 40)
    	Local $idClose = GUICtrlCreateButton("Close", 210, 10, 85, 40)
    
    
    	GUISetState(@SW_SHOW, $hGUI)
    
    
    	Sleep(2000)
    	; zentriert
    	_GuiCtrlComboBox_SetEditAlign($idComboBox, 1)
    	Sleep(2000)
    	; rechts
    	_GuiCtrlComboBox_SetEditAlign($idComboBox, 2)
    	Sleep(2000)
    	; links
    	_GuiCtrlComboBox_SetEditAlign($idComboBox, 0)
    
    
    	While 1
    		Switch GUIGetMsg()
    			Case -3, $idClose
    				ExitLoop
    		EndSwitch
    	WEnd
    	GUIDelete($hGUI)
    EndFunc  ;==>Example
    
    
    
    
    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: _GuiCtrlComboBox_SetCtrlHeight
    ; Description ...: Sets the height of a collapsed combobox with style $CBS_DROPDOWN.
    ; Syntax ........: _GuiCtrlComboBox_SetCtrlHeight($_iID_Hwnd, $_iHeight)
    ; Parameters ....: $_iID_Hwnd           - ID or Handle of the combobox.
    ;                  $_iHeight            - The new height of the collapsed combobox.
    ; Return values .: None
    ; Author ........: BugFix
    ; Remarks .......: #include <GuiComboBox.au3> required
    ; ===============================================================================================================================
    Func _GuiCtrlComboBox_SetCtrlHeight($_iID_Hwnd, $_iHeight)
    	Local $hWnd = $_iID_Hwnd
    	If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
    	_GUICtrlComboBox_SetItemHeight($hWnd, $_iHeight)
    	Local $iHeightReal = (WinGetPos($hWnd))[3]
    	_GUICtrlComboBox_SetItemHeight($hWnd, $_iHeight-($iHeightReal-$_iHeight))
    EndFunc  ;==>_GuiCtrlComboBox_SetCtrlHeight
    
    
    
    
    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: _GuiCtrlComboBox_SetEditAlign
    ; Description ...: Sets the horizontal alignment in the edit field of a combobox
    ; Syntax ........: _GuiCtrlComboBox_SetEditAlign($_iID_Hwnd[, $_iAlign = -1])
    ; Parameters ....: $_iID_Hwnd           - The combobox's ID or handle.
    ;                  $_iAlign             - [optional] Default is -1 (ES_LEFT).
    ;                                       possible values:
    ;                                       keyword "Default" or -1 or 0 = ES_LEFT
    ;                                                                  1 = ES_CENTER
    ;                                                                  2 = ES_RIGHT
    ; Return values .: None
    ; Author ........: BugFix
    ; Remarks .......: #include <GuiComboBox.au3> required
    ; ===============================================================================================================================
    Func _GuiCtrlComboBox_SetEditAlign($_iID_Hwnd, $_iAlign=-1)
    	Local Const $_ES_LEFT = 0, $_ES_CENTER = 1, $_ES_RIGHT = 2
    	If $_iAlign < -1 Or $_iAlign > 2 Then $_iAlign = $_ES_LEFT
    	$_iAlign = ($_iAlign = -1 Or $_iAlign = Default) ? $_ES_LEFT : $_iAlign
    	Local $hWnd = $_iID_Hwnd
    	If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
    	Local $tInfo, $iStyleXOR = 0
    	_GUICtrlComboBox_GetComboBoxInfo($hWnd, $tInfo)
    	Local $hEdit = DllStructGetData($tInfo, "hEdit")
    	Local $sFuncName = @AutoItX64 ? "GetWindowLongPtrW" : "GetWindowLongW"
    	Local $iStyle = (DllCall("user32.dll", "long_ptr", $sFuncName, "hwnd", $hEdit, "int", 0xFFFFFFF0))[0]
    	If BitAND($iStyle, $_ES_CENTER) Then $iStyleXOR = $_ES_CENTER
    	If BitAND($iStyle, $_ES_RIGHT) Then $iStyleXOR = $_ES_RIGHT
    	$sFuncName = @AutoItX64 ? "SetWindowLongPtrW" : "SetWindowLongW"
    	DllCall("user32.dll", "long_ptr", $sFuncName, "hwnd", $hEdit, "int", 0xFFFFFFF0, "long_ptr", BitOR(BitXOR($iStyle, $iStyleXOR), $_iAlign))
    	DllCall("user32.dll", "bool", "RedrawWindow", "hwnd", $hEdit, "struct*", 0, "handle", 0, "uint", 5)
    EndFunc  ;==>_GuiCtrlComboBox_SetEditAlign
    Alles anzeigen
  • Schnellstartleiste

    • BugFix
    • 19. März 2016 um 20:26

    Schau mal, ob dir das hier weiter hilft. Bitte beachte, dass die Objektnamen abhängig von der Sprachversion sind. Also unbedingt vorher die Namen auslesen.
    Es bezieht sich zwar auf Win7, aber die Mechanismen sind m.W. nicht verändert bei Win10.

  • WLAN-Adapter wird deaktiviert

    • BugFix
    • 19. März 2016 um 13:18
    Zitat von bazii

    Deinstallation des AV-Browserplugins von AVast

    Das Plugin ist nicht installiert.

    Zitat von UEZ

    Energie Optionen den WLAN Adapter nach 10 Minuten einfach abschalten

    Die Möglichkeit habe ich jetzt abgeschaltet. Der Adapter bleibt also dauerhaft angeschaltet.
    Damit lief jetzt auch bei mehrstündigen YT-Gucken alles ohne Probleme. Nur einmal ist das WLAN abgeschmiert - das war vermutlich ein Konfigurationsfehler. Ich habe meiner FritzBox eine Range an IP für DHCP gegeben und hatte eine dieser IPs als fixe IP für den WLAN-Adapter vergeben. Habe ich jetzt gefixed und (klopf-klopf) jetzt scheint alles i.O.

  • Größe von ComboBox einstellen nicht möglich? Height-Parameter ohne Funktion?

    • BugFix
    • 15. März 2016 um 09:48
    Zitat von Bioshade

    soweit ich weiß und hier nachstellen konnte - immer 8 Pixel

    Bei mir waren es 6 Pixel. Und da ich annahm, dass das vom WindowStyle (Fensterränder) abhängt, bin ich auf die variable Variante gewechselt.
    Besser ist es noch, den Workaround in eine Funktion auszulagern - sieht dann so aus:

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <GuiComboBox.au3>
    
    
    Example()
    Func Example()
    	Local $hGUI = GUICreate("Example", 300, 200)
    	Local $idComboBox = GUICtrlCreateCombo("Item 1", 10, 10, 185)
    	GUICtrlSetData($idComboBox, "Item 2|Item 3", "Item 2")
    
    
    	; Äußere Höhe der eingeklappten ComboBox festlegen
    	_GuiCtrlComboBox_SetCtrlHeight($idComboBox, 40)
    	; Button in gleicher Höhe
    	Local $idClose = GUICtrlCreateButton("Close", 210, 10, 85, 40)
    
    
    	GUISetState(@SW_SHOW, $hGUI)
    	Local $sComboRead = ""
    	While 1
    		Switch GUIGetMsg()
    			Case $GUI_EVENT_CLOSE, $idClose
    				ExitLoop
    		EndSwitch
    	WEnd
    	GUIDelete($hGUI)
    EndFunc   ;==>Example
    
    
    
    
    ; Requires: #include <GuiComboBox.au3>
    Func _GuiCtrlComboBox_SetCtrlHeight($_iID_Hwnd, $_iHeight)
    	Local $hWnd = $_iID_Hwnd
    	If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
    	_GUICtrlComboBox_SetItemHeight($hWnd, $_iHeight)
    	Local $iHeightReal = (WinGetPos($hWnd))[3]
    	_GUICtrlComboBox_SetItemHeight($hWnd, $_iHeight-($iHeightReal-$_iHeight))
    EndFunc
    Alles anzeigen
  • Größe von ComboBox einstellen nicht möglich? Height-Parameter ohne Funktion?

    • BugFix
    • 15. März 2016 um 09:17

    Ich habe mal einen Workaround erstellt, wie du das Lösen kannst:

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <GuiComboBox.au3>
    
    
    Example()
    Func Example()
    	Local $hGUI = GUICreate("Example", 300, 200)
    	Local $idComboBox = GUICtrlCreateCombo("Item 1", 10, 10, 185)
    	Local $hWnd = GUICtrlGetHandle($idComboBox)
    
    
    	; geplante Höhe für Box (eingeklappt) und Button daneben
    	Local $iBoxHeight = 40
    	; Höhe als Item-Höhe setzen (real etwas größer als die gewünschte Höhe, da Input ein Child ist)
    	_GUICtrlComboBox_SetItemHeight($hWnd, $iBoxHeight)
    	; reale Größe abfragen
    	$iHeightReal = (WinGetPos($hWnd))[3]
    	; Größe neu festlegen aus Abweichung
    	_GUICtrlComboBox_SetItemHeight($hWnd, $iBoxHeight-($iHeightReal-$iBoxHeight))
    	; Button in gleicher Höhe
    	Local $idClose = GUICtrlCreateButton("Close", 210, 10, 85, $iBoxHeight)
    
    
    	GUICtrlSetData($idComboBox, "Item 2|Item 3", "Item 2")
    	; Display the GUI.
    
    
    	GUISetState(@SW_SHOW, $hGUI)
    	Local $sComboRead = ""
    	; Loop until the user exits.
    	While 1
    		Switch GUIGetMsg()
    			Case $GUI_EVENT_CLOSE, $idClose
    				ExitLoop
    		EndSwitch
    	WEnd
    	; Delete the previous GUI and all controls.
    	GUIDelete($hGUI)
    EndFunc   ;==>Example
    Alles anzeigen
  • WLAN-Adapter wird deaktiviert

    • BugFix
    • 15. März 2016 um 08:21

    Kleiner Zwischenbericht, der mich noch mehr verwirrt:
    Ich habe zwei WLAN-Netze, eines von Router-A und das zweite als AccessPoint (Router-B hat Internet-Verbindung zu Router-A per LAN). Bisher war die Verbindung über WLAN-B, da gab es aber Geschwindigkeitsprobleme (älteres Router-Modell) und deshalb hatte sich meine Tochter jetzt mit WLAN-A verbunden.
    Also ein Abbrechen der Internetverbindung kann ich mir durchaus mal vorstellen - aber eine Deaktivierung des WLAN-Adapters ist für mich irgendwie surreal. Wenn ich das selbst machen möchte, muss ich entweder zum Wizard wechseln oder ein entsprechendes Skript schreiben. Von alleine kann sich doch Hardware nicht deaktivieren...
    Aber ich werde mal alle Punkte durchgehen, die bisher angesprochen wurden.

  • Größe von ComboBox einstellen nicht möglich? Height-Parameter ohne Funktion?

    • BugFix
    • 14. März 2016 um 21:47

    Mein Workaround:
    Hol dir das Handle des Inputs der Combo (haben wir im Forum schon mehrfach abgehandelt) und Resize dann die Größe mit WinMove.

  • WLAN-Adapter wird deaktiviert

    • BugFix
    • 14. März 2016 um 21:45

    Ich werde das mal Step-By-Step durchexerzieren, vielleicht kann ich die Ursache einkreisen. Gebe dann Bescheid.

  • Größe von ComboBox einstellen nicht möglich? Height-Parameter ohne Funktion?

    • BugFix
    • 14. März 2016 um 21:37

    Ich denke, du hast den Sinn des Height-Parameters falsch verstanden. Es ist nicht die Höhe der Box.

    Zitat von AutoIt-Hilfe

    Under Windows XP/2003 Windows will adjust the size of the opened combo. On other Windows versions you can define this size with the "height" parameter if the default value is not BIG enough to contain at least one line.

    Es geht um die Höhe der geöffneten Box.

  • WLAN-Adapter wird deaktiviert

    • BugFix
    • 14. März 2016 um 19:42

    Hi,
    ein seltsames Phänomen:
    Wenn meine Tochter auf dem Laptop das Internet nutzt - kein Problem bis zu dem Zeitpunkt, da sie Youtube schaut. Es vergehen ca. 10 min. und dann bricht die Internet-Verbindung ab, kein WLAN mehr. Der WLAN-Adapter kann auch nicht per Netzwerkreparatur zum Leben erweckt werden. Nur Neustarten hilft.
    Dieses Problem besteht erst, seit ich den Rechner neu installiert habe. Es wurden aber dieselben Treiber, wie vorher verwendet. Also Hardware und Software wie vorher.
    Stelle ich die Verbindung per LAN her gibt es keine Probleme.
    Kann sich jemand das irgendwie erklären?

  • TaskScheduler UDF Windows 2008R2 -- taskenabled

    • BugFix
    • 14. März 2016 um 13:34

    Probiere mal über WMI:

    AutoIt
    $sComputer = "."
    $objWMI = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!\\" & $sComputer & "\root\cimv2")
    $colScheduledJobs = $objWMI.ExecQuery ("Select * from Win32_ScheduledJob")
    For $objJob In $colScheduledJobs
        ConsoleWrite("Command: " & $objJob.Command & @LF _
        & "Days Of Month: " & $objJob.DaysOfMonth & @LF _
        & "Days Of Week: " & $objJob.DaysOfWeek & @LF _
        & "Description: " & $objJob.Description & @LF _
        & "Elapsed Time: " & $objJob.ElapsedTime & @LF _
        & "Install Date: " & $objJob.InstallDate & @LF _
        & "Interact with Desktop: " & $objJob.InteractWithDesktop & @LF _
        & "Job ID: " & $objJob.JobId & @LF _
        & "Job Status: " & $objJob.JobStatus & @LF _
        & "Name: " & $objJob.Name & @LF _
        & "Notify: " & $objJob.Notify & @LF _
        & "Owner: " & $objJob.Owner & @LF _
        & "Priority: " & $objJob.Priority & @LF _
        & "Run Repeatedly: " & $objJob.RunRepeatedly & @LF _
        & "Start Time: " & $objJob.StartTime & @LF _
        & "Status: " & $objJob.Status & @LF _
        & "Time Submitted: " & $objJob.TimeSubmitted & @LF _
        & "Until Time: " & $objJob.UntilTime & @LF)
    Next
    Alles anzeigen

    Edit:
    Funktioniert aber nicht, wenn der Task mit dem Wizard erstellt wurde: It cannot return information about jobs that are either created by or modified by the Scheduled Task wizard.

  • Gui Frage/Problem

    • BugFix
    • 13. März 2016 um 19:44

    In deiner Funktion start() ist eine Endlosschleife, somit kannst du nie mehr etwas anderes tun nach Aufruf der Funktion. :whistling:

  • For Next Schleife - Wert der Variablen

    • BugFix
    • 9. März 2016 um 21:18

    Also ich versteh die ganze Aufregung nicht. Auch wenn die Zählervariable nach der Schleife den Wert "Hundekuchen" hätte, wer die Welt noch in Ordnung. Das reguläre Leben der Zählervariable endet beim Austritt aus der Schleife, sie ist nämlich lokal und bedarf deshalb auch keiner Deklaration. Und aus diesem kühlen Grunde ist jede Diskussion über den Inhalt einer toten Variable aus meiner Sicht absolut überflüssig.

  • Meine Reaktion auf gewisse Nutzer ...

    • BugFix
    • 5. März 2016 um 09:08

    Damit niemand mehr auf die Idee kommt, noch weitere Ausführungen machen zu müssen, kommt jetzt das Schloß vor.

    [CLOSED]

  • SciTE Umlaufe in Console

    • BugFix
    • 5. März 2016 um 09:01

    Das Codepage Problem ist leider ein Mysterium, dass sich in irgendeiner Form durch alle Editoren zieht.
    Der sauberste Weg ist, in die erste Zeile eines jeden erstellten Skriptes die zu verwendende CP einzutragen (als Kommentar). Dann wird das auch von jedem Editor sauber interpretiert.

  • SciTE Umlaufe in Console

    • BugFix
    • 4. März 2016 um 21:11

    Also es gehört, wie du richtig gemacht hast, in die SciTEUser.properties. Diese überschreibt Einstellungen der globalen properties.
    Da "output.code.page" keine Wirkung hatte, war die Datei in einer anderen Kodierung als der Output. Das muss beides zusammen passen.
    Leider ist bei SciTE die Voreinstellung nicht UTF8. Somit sind die Skripte der Autoit - Gemeinde weltweit unterschiedlich kodiert, was sich aber nur in Kommentaren bemerkbar machen kann.

    Wen du für "output.code.page" und "code.page" denselben Wert verwendest, solltest du keine Probleme haben. Ausnahme: Eine Datei ist in anderer Kodierung gespeichert als in SciTE vorgegeben.

  • SciTE Umlaufe in Console

    • BugFix
    • 4. März 2016 um 14:39

    Dazu gibt es die Property output.code.page 
    Als Standard verwendet SciTE "0", d.h. die Systemeinstellung wird verwendet. Probleme tauchen in der Regel auf, wenn eine Datei explizit als UTF8 gespeichert wurde und daraus Inhalte ausgegeben werden. Obwohl UTF8 natürlich Umlaute darstellen kann, sind das nicht dieselben Werte, wie bei Win1252.
    Um UTF8 zu verwenden brauchst du 65001.
    Für ISO 8859-15 gilt: 1000.

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™