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

Beiträge von BLinz

  • Größe eines Label oder eines Buttons etc. aus der GUI auslesen

    • BLinz
    • 2. Dezember 2011 um 00:39

    Mann mann mann ... warum habe ich das in der Hilfe nicht gefunden ... hätte nicht nur bei den GUI Sachen suchen sollen.
    Frei nach dem Motto "Jetzt wo ich weis wonach ich hätte suchen müssen finde ich es auch" ...

    Danke, funktioniert 100%

    Lösung:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 308, 438, 607, 124)
    $Button1 = GUICtrlCreateButton("Button1", 40, 240, 225, 97)
    $Label1 = GUICtrlCreateLabel("Label1", 48, 64, 212, 129)
    GUICtrlSetBkColor(-1, 0x3399FF)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    Dim $aPosnSize = ControlGetPos($Form1,"",$Button1)
    MsgBox(0,"Position Label1:","Button1:" & @CRLF & _
    "X-Position: " & $aPosnSize[0] & @CRLF & _
    "Y-Position: " & $aPosnSize[1] & @CRLF & _
    "Breite : " & $aPosnSize[2] & @CRLF & _
    "Höhe : " & $aPosnSize[3] & @CRLF)

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

    Dim $aPosnSize = ControlGetPos($Form1,"",$Label1)
    MsgBox(0,"Position Label1:","Label1:" & @CRLF & _
    "X-Position: " & $aPosnSize[0] & @CRLF & _
    "Y-Position: " & $aPosnSize[1] & @CRLF & _
    "Breite : " & $aPosnSize[2] & @CRLF & _
    "Höhe : " & $aPosnSize[3] & @CRLF)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • Größe eines Label oder eines Buttons etc. aus der GUI auslesen

    • BLinz
    • 1. Dezember 2011 um 23:16

    Moin,

    wie kann ich von einem GUI-Objekt wieder die Größe auslesen?

    Beispielcode:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 308, 438, 607, 124)
    $Button1 = GUICtrlCreateButton("Button1", 40, 240, 225, 97)
    $Label1 = GUICtrlCreateLabel("Label1", 48, 64, 212, 129)
    GUICtrlSetBkColor(-1, 0x3399FF)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]

    Und nun will ich in einer MsgBox die Abmessungen / Position des Labels und des Buttons haben.
    Au3Info kann das - kein Thema - aber wie schaffe ich das? Einen Zeiger auf die Objekte habe ich ja, mir fehlt der Befehl / DLL Aufruf oder sonst etwas ...

    Danke

    BLinz

  • Buffalo Link-Station

    • BLinz
    • 1. Dezember 2011 um 14:11
    Zitat von Matthias_199

    Dann hab ichs über FTP gemacht


    Wenn du auf deinem NAS FTP aktivieren kannst ist die Idee garnicht schlecht - du kannst auch FTP-Laufwerke als Netzlaufwerke verbinden (Über Netzlaufwerk verbinden --- Verbindung mit einer Webseite herstellen ...)

    Das könnte das Problem bis zu der Beschaffung eines neuen NAS lösen.

    BLinz

  • [ERLEDIGT] probleme mit lan, aber keine mit internet

    • BLinz
    • 1. Dezember 2011 um 14:08
    Zitat von tobi_girst

    Fehler 1068: Der Abhängigkeitsdienst oder die Abhängigkeitsgruppe konnte nicht gestartet werden.


    Wenn du dir die Eigenschaften vom Dienst anschaust findest du auf dem letzten Reiter die Abhängigkeiten - das sind schlicht auch andere Dienste.

    Die müssen erst alle gestartet sein bevor dieser Dienst dann starten kann. Ergo fehlt einer der Dienste.

    Wenn es die Weihnachstkasse zulässt würde ich allerdings überlegen ob du nicht gleich Windows 7 nimmst. Du wirst dich sofort zurechtfinden (so groß ist der Unterschied zu Vista auch nicht) und hats dann die populärere Plattform (=besser Unterstützt).

    BLinz

  • [ERLEDIGT] probleme mit lan, aber keine mit internet

    • BLinz
    • 30. November 2011 um 23:16

    Die Firewall ist ab Werk dabei .... hast du alle Windows Updates bzw. Service Packs drin ? Ich könnte mir Vista als Test VM einrichten ... aber ob ich dann deinen Fehler finde ...

    Kannst du die genaue Fehlermeldung aus dem Ereignisprotokoll mal posten?

    Ansonsten gilt für mich das Motto "Wenn ich länger als eine Stunde beim Kunden nach dem Fehler suche ist der Punkt gekommen wo ich es neu aufsetze ..."

  • GUICtrlCreateGroup - Nachträglich Elemente (GUICtrlCreateCheckbox) hinzufügen?

    • BLinz
    • 30. November 2011 um 23:09

    Mhh, auch nicht so ganz - das Positionieren ist wirklich innerhalb der Gruppe .. und ...

    Dateien

    GroupnRadio.JPG 28,06 kB – 0 Downloads
  • Texturenpack Downloader

    • BLinz
    • 30. November 2011 um 21:22
    Zitat von Teare

    Da ich mich damit nicht wirklich auskenne


    Ich habe mir auch erst vor ein paar Tagen das installiert: http://www.autoitscript.com/forum/index.php?app=core&module=attach&section=attach&attach_app=core&module=attach&section=attach&attach_id=29947
    Das Tool sgat dir was fehlt oder was zuviel ist und bereinigt das bei Bedarf gleich mit

  • GUICtrlCreateGroup - Nachträglich Elemente (GUICtrlCreateCheckbox) hinzufügen?

    • BLinz
    • 30. November 2011 um 21:18

    Moin,

    Ich habe folgendes Beispiel:

    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\_AutoIT\AutoIt.de\Form1.kxf
    $Form1 = GUICreate("Form1", 471, 293, 567, 235)
    $Group1 = GUICtrlCreateGroup("Group1", 24, 24, 425, 217)
    $Radio1 = GUICtrlCreateRadio("Radio1", 40, 48, 113, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("Noch eine Radio-Option", 24, 256, 427, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    ; wie noch einen RadioButton hinzufügen?
    EndSwitch
    WEnd

    [/autoit]

    Jetzt will ich, wenn ich den Button1 betätige eine weitere Checkbox der zuvor erstellten Gruppe hinzufügen - geht das? Wenn ja - Wie?

    Hintergrund: Ich habe eine GUI in der ich für einige Elemente zunächst die Größen, Maßstäbe und Anzahl berechnen muss.
    Erst dann weis ich ob ich 1 oder z.B. 8 Checkboxen brauche.

    Da ich das ganze als Funktion in bestehende Skripte einbauen möchte wäre es schlecht wenn ich dazu das ganze jedesmal innerhalb der Fenstererstellung machen würde.
    Ich würde mich lieber nur auf eine vorhandene Gruppe stürzen - damit ist der Berecih eigentlich klar in dem ich die neuen Elemente packe.

    Ich habe versucht die Gruppe zuerst zu löschen und dann wieder neu zu erstellen (GUICtrlCreateGroup, dann in einer Schleife die Checkboxen, dann nochmal GUICtrlCreateGroup als Abschluss),
    aber das klappt nicht - die Koordinaten werden vom Hauptfenster aus genommen, nicht von der Gruppe aus.

    Danke im voraus,

    BLinz

  • Laufwerksbuchstaben finden und an shellexecute übergeben

    • BLinz
    • 30. November 2011 um 09:58
    Zitat von Protex

    okay schoen und gut wenn man einem USB aber einen Buchstaben zuweist über die Device Control behält er diesen auch bei im Normalfall.. sollte der Buchstabe natürlich nicht anderweitig belegt sein beim einstecken des Sticks.. einfachen einen Buchstaben nehmen der fast immer frei ist 'O:' oder sonst was und wenn der Gerätetreiber nicht entfernt wird sollte er beim erneuten verbinden auch den selben Buchstaben haben :/ ist mir zumindest noch nicht untergekommen dass ein HotPlug Dev.. sich einfach selber die Zuordnung ändert..


    Du hast ja recht - aber so hatten wir ein schönes AutoIt Problem ^^
    Zudem - er installiert einen RegCleaner ... da kann alles passieren (ich würde keinen Benutzen)

  • Fileinstall Problem

    • BLinz
    • 29. November 2011 um 23:35
    Zitat von Howik

    Fileinstall war vorher im mittleren Bereich meines Codes nun habe ich ihn einfach nach oben verschoben und schon funktioniert alles


    Das ist der Nachteil wenn nicht der ganze Code gepostet wird :huh:

  • [ERLEDIGT] probleme mit lan, aber keine mit internet

    • BLinz
    • 29. November 2011 um 23:29

    Diese andere Firewall wirf gleich wieder runter, die in windows reicht.

    Das die Windows Firewall aus ist / deaktiviert ist sits seltsam - und kann die ursache sein. Auf Servern mit 2008 (=Vista) Funktionieren die Dateifreigaben z.B. auch nicht wenn die Firewall aus ist ...

    Sicher das du nur Kaspersky AntiVirus hast und nicht eine Suite mit Firewall? Sonst such mal in dr Richtung wie du die Windows Firewall wieder anbekommst. Eevntuell steht was im Ereignisprotokoll

  • Robocopy

    • BLinz
    • 29. November 2011 um 23:23

    mhh, ich würde es in die hauptschleife einbauen, zu der abfrage der buttons einfach ein

    [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg

    Case $Checkbox3
    ;Hier die Aktualisierungsfunktion aufrufen

    [/autoit]


    ab Zeile 809 einbauen - geht auch mit

    [autoit]

    Case $Checkbox1, $Checkbox2, $Checkbox3, $Checkbox4
    ;Hier die Aktualisierungsfunczion aufrufen

    [/autoit]

    EDIT1: Arbeite mich gerade durch das Script - wirklich lang und viele viele funktionen ....

  • Robocopy

    • BLinz
    • 29. November 2011 um 23:16

    So etwas hätte ich vor 10 Jahren gebraucht *g*

    Schön gemacht, auch wenn sich die Bedienung nicht auf anhieb erschliesst - diese "Leer" Buttons ....

    Verbesserungsvorschlag: Wen man eine Option an- oder abwählt wie z.B. /v sollte er oben in der Parameter-Vorschau das auch gleich aktualisieren

    BLinz

  • Fileinstall Problem

    • BLinz
    • 29. November 2011 um 20:35

    Es kann zwar nich sein was nicht sein darf ... aber gibt es das Bild wirklich? Fehlermeldung und Pfad im Script sind unterschiedlich. Sicher das das Bild keinen verstecktes Leerzeichen oder so hat?
    Ansonsten mal Pfad aus script kopieren und unter Start -> Ausführen (oder [WIN] + R ) eingeben und öffnen lassen.

    Oder hat die Datei 0 Bytes?

    BLinz

  • Laufwerksbuchstaben finden und an shellexecute übergeben

    • BLinz
    • 29. November 2011 um 20:30
    Zitat von Protex

    Wieso macht ihr euch es so umständlich? einfach beim Start des Scriptes mit 'netuse' dir das ganze als Laufwerkmappen mit dem Paramter -p NO also nicht beständig (nach einem neustart wieder gelöscht) und fertig ist die Sache


    Genau so eine Antwort hatte ich als alter Netzwerker auch schon geschrieben .. und dann wieder gelöscht und neu Formuliert.

    Die Antwort ist: Weil er einen USB-Stick und kein Netzlaufwerk benutzt!

  • [Beispiel] - Fenster Sliden (hinein- hinausgeleiten) auf dem Desktop - optimiert für Multi-Monitorlösungen

    • BLinz
    • 29. November 2011 um 20:27

    Hallo UEZ,

    danke für das noch einmal testen.

    Ja - das ist im Moment das "gewollte" Verhalten. Um es zu umgehen müsste ich eine "Wo ist der Rand zu den anderen Monitoren" Erkennung einbauen.

    Wenn wie bei mir es z.B. 3 Monitore mit 3 verschiedenen Auflösungen sind ist dies nicht ganz trivial (zündende Ideen willkommen).
    Das gehört zu den Dingen die in meinem Kopf gerade noch etwas reifen müssen .... wenn ich eine Lösung habe kommt das nächste Update.

    BLinz

  • [Beispiel] - Fenster Sliden (hinein- hinausgeleiten) auf dem Desktop - optimiert für Multi-Monitorlösungen

    • BLinz
    • 29. November 2011 um 07:33

    Was mir heute morgen noch einfiel ...

    UEZ, beim ersten Start wird es wieder wie "immer" aussehen - dann pack mal das Fenster und schiebe es auf den linken Monitor.

    Ich werde die GUI noch mal um eine Monitorauswahl erweitern ... das mit dem Verschieben ist vielleicht doch nicht so intuitiv wie ich dachte....

  • Laufwerksbuchstaben finden und an shellexecute übergeben

    • BLinz
    • 28. November 2011 um 21:42

    Also, das mit den Laufwerksbuchstaben:

    Schau dir mal die Hilfe zu

    [autoit]

    FileExists

    [/autoit]

    an - damit könntest du prüfen ob O: oder P: aktuell ist.

    [autoit]

    If FileExists("O:\8GB Stick\AAAAA\Programme\Ashampoo\Ashampoo Registry Cleaner\ashampoo_registry_cleaner_1.00_9031.exe") Then
    ShellExecute("O:\8GB Stick\AAAAA\Programme\Ashampoo\Ashampoo Registry Cleaner\ashampoo_registry_cleaner_1.00_9031.exe")
    Else
    ShellExecute("P:\8GB Stick\AAAAA\Programme\Ashampoo\Ashampoo Registry Cleaner\ashampoo_registry_cleaner_1.00_9031.exe")
    EndIf

    [/autoit]
  • Datum setzen und cmd Datei ausführen

    • BLinz
    • 28. November 2011 um 20:50

    :D 3 Antworten innerhalb von 6 Minuten :thumbup:

  • Datum setzen und cmd Datei ausführen

    • BLinz
    • 28. November 2011 um 20:50
    Zitat von Helveticus

    1. Wie kann ich das Datum des PC um 2 Jahre zurück setzen bzw. wieder nach vorne setzen? Ich möchte dies auf einem XP Prof Rechner tun, allerdings ist der Benutzer ein eingeschränkter Benutzer, d.h. man bräuchte wohl Administratorrechte.

    Das ist fast richtig - Ja nur jemand mit Administorenrechten darf die Zeit ändern. Jedoch kann der Administrator jemand das Recht dazu gewähren, ohne das dieser Administrator werden muss (Sicherheitsrichtlinien). Egal mit welcher Methode du die zeit ändern willst (über Menü oder CMD Datei), ohne die passenden Rechte geht es nicht.
    Bitte beachte das, falls du einfach so die Zeiten änderst, du bei einem Rechner der in einer Domäne ist es schnell haben kannst, das dieser mit dem Rest des Netzwerkes nicht mehr kommunizieren kann bzw. du dich nichteinmal mehr anmelden kannst. Es sind nur gewisse Abweichungen in der Zeit zum restlichen Netzwerk erlaubt.

    Zitat von Helveticus

    2. Wie kann man eine .cmd Datei ausführen? Man braucht wieder Administratorrechte um die Datei auszuführen, der angemeldete Benutzer, der das autoit Skript ausführt, ist aber wiederrum nur ein eingeschränkter Benutzer.


    Von der Sache Herr darf jeder Benutzer Batch Dateien (.cmd) ausführen. Jedoch kann ein Administrator per Sicherheitsrichtlinie dieses verbieten (bzw. den Aufruf der CMD.exe) - dagegen kannst du nicht tun - ausser halt kein cmd.exe zu verwenden.
    Es gibt zwar eine gern vergessene Lücke - aber du möchtest sicherlich nicht deinen "Adinistrator" verärgern, er wird schon einen grund dafür gehabt haben.

    Ansonsten - eine CMD Datei kannst du mit Run oder ShellExecute (und deren Wait-Varianten) ausführen - in der Hilfe sind auch Beispiele dazu.

    Sonst hilf mir doch auf die Sprünge was das eigentliche Problem ist, das du die Zeit verstellen willst - eventuell kann ich auch eine andere Lösung beisteuern.

    BLinz

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™