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

Beiträge von XovoxKingdom

  • Quick Launch (Schnellstartleiste) unter Windows 7 berechnen vom TFT bzw. Monitor wie Groß die auflösung ist. !

    • XovoxKingdom
    • 15. Februar 2010 um 17:23

    Probiere das hier mal:

    [autoit]

    Func Aufloesung()
    Local $x, $y
    $x=@DesktopWidth
    $y=@DesktopHeight
    Select
    Case $x = 800 And $y = 600
    ;Funktion hier einfügen
    Case $x = 1024 And $y = 768
    ;...

    ;...
    EndSelect
    EndFunc

    [/autoit]
  • On/Off Button erstellen

    • XovoxKingdom
    • 14. Februar 2010 um 17:18

    Ich will den alten Thread (auf den ja oben schon hingewiesen wurde) nicht nochmal ausbuddeln.
    Trotzdem ist die folgende Abwandlung für den einen oder anderen interessant:
    (Es sollte hier bereits gesagt werden, dass ich die Version von Bugfix etwas angepasst habe und
    so den (eigenen) Buttons das "normale" Verhalten gegeben habe.)
    Probierts aus (das Bild müsst ihr aber selber auswählen):

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <Misc.au3>
    Global $pic = @ScriptDir & '\BILD.bmp', $DLL = DllOpen('user32.dll')

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

    $gui = GUICreate("Test", Default, Default, -1, -1)
    $btnPic = GUICtrlCreatePic($pic, 30, 40, 100, 100)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $btnPic
    $W = _AnimButton($gui, $btnPic)
    If $W = 1 Then
    MsgBox(0, "KLICK innerhalb", 1)
    Else
    MsgBox(0, "KLICK außerhalb", 0)
    EndIf

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

    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

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

    ;==================================================================================================
    ; Function Name: _AnimButton($IDgui, $IDbtn [, $delay=150])
    ; Description: animiert ein Pic, wie einen geklickten Button
    ; Parameter(s): $IDgui ID der GUI
    ; $IDbtn ID des Picture als Button
    ;==================================================================================================
    Func _AnimButton($IDgui, $IDbtn)
    Local $pos = ControlGetPos($IDgui, '', $IDbtn), $p
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1] + 1, $pos[2] - 1, $pos[3] - 1)

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

    While _IsPressed("01", $DLL)
    $p = GUIGetCursorInfo()
    If $p[0] + 1 > $pos[0] And $p[0] < $pos[0] + $pos[2] + 1 And $p[1] + 1 > $pos[1] And $p[1] < $pos[1] + $pos[3] + 1 Then
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1] + 1, $pos[2] - 1, $pos[3] - 1)
    Else
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1], $pos[2], $pos[3])
    EndIf

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

    WEnd
    If $p[0] + 1 > $pos[0] And $p[0] < $pos[0] + $pos[2] And $p[1] + 1 > $pos[1] And $p[1] < $pos[1] + $pos[3] Then
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1], $pos[2], $pos[3])
    Return 1
    Else
    ControlMove($IDgui, '', $IDbtn, $pos[0], $pos[1], $pos[2], $pos[3])
    Return 0
    EndIf
    EndFunc ;==>_AnimButton von Bugfix (abgewandelt von XovoxKingdom)

    [/autoit]


    EDIT: Anpassung des Bildfeldes (+1), da man ja nur IN das Feld klicken soll/darf!

  • Zeitanzeigende Proggressbar

    • XovoxKingdom
    • 13. Februar 2010 um 14:24

    Ich habe mal ein Beispiel mit ProgressOn gemacht:

    [autoit]

    $Zeit=10
    $Z=$Zeit*1000
    $x=TimerInit()
    ProgressOn("TEST - 10 Sekunden","10 Sekunden!")
    While TimerDiff($x) < $Z
    $p=Round(TimerDiff($x)*100/$Z,0)
    ProgressSet($p,$p,"10 Sekunden")
    Sleep(10)
    WEnd
    Sleep(500)
    ProgressOff()
    MsgBox(0,"ENDE!","Fertig")

    [/autoit]


    Statt ProgressSet musst du bei deiner GUI version Guictrlsetdata benutzen!

  • Real Player Paketieren

    • XovoxKingdom
    • 12. Februar 2010 um 11:45

    Funktionieren tut es eigentlich sehr gut.
    Du kannst auch Imagesearch benutzen.
    Sobald du in den Genuss des Findens des richtigen Fensters gekommen bist,
    kannst du ja einfach mit dem Handle weitermachen.
    Die passende Funktion ist dann:

    [autoit]

    WinGetHandle("Fenstertitle/Handle")

    [/autoit]


    wenn du also das richtige Fenster aktiviert hast, kannst du es folgendermaßen automatisieren:

    [autoit]

    $Handle=WinGetHandle("")
    ; Bsp:
    Controlclick($Handle, "text", controlID)

    [/autoit]
  • Case Input ?!

    • XovoxKingdom
    • 3. Februar 2010 um 09:05

    hmm... mit der zweiten Schleife wäre das in der tat vielleicht nicht optimal...
    vielleicht hilft dir der Ansatz (Pseudocode)

    [autoit]

    Adlibregister("Click")
    Func Click()
    $msg=guigetmsg()
    select
    case _ispressed(...)
    ;...
    case $msg=$Input
    ;...
    ....
    endfunc

    [/autoit]


    PS: du musst ja via _ispressed nur solange warten bis die Taste wieder losgelassen wird oder? wenn ja probier diesen Ansatz:

    [autoit]

    While _ispressed(...)
    sleep(10)
    wend
    select
    case ...

    [/autoit]
  • Youtube Videonamen auslesen

    • XovoxKingdom
    • 2. Februar 2010 um 18:54

    das wäre sehr nett von dir :D
    PS: Wenn du Hilfe brauchst, würde ich gerne weitere Unterstützung anbieten. PN me einfach

  • Youtube Videonamen auslesen

    • XovoxKingdom
    • 2. Februar 2010 um 17:02

    Vielleicht ist es nicht perfekt, aber es funktioniert^^

    [autoit]

    #include<string.au3>
    #include<array.au3>
    #include<Inet.au3>
    $sLink="http://www.youtube.com/watch?v=YastlxhifIc"
    $p=StringRegExp(_INetGetSource($sLink),'title="(.*)"',1)
    MsgBox(0,"Youtube Title",$sLink&" = "&$p[0])

    [/autoit]
  • DeskLock

    • XovoxKingdom
    • 2. Februar 2010 um 16:10

    Ich habe soeben das Programm "einfach mal so" gestartet und einige mir bekannten Tricks probiert.
    Unter Vista (32bit) hab ich einfach STRG+ALT+ENTF. gedrückt und Abmelden ausgewählt.
    Da ich noch einige Prozesse offen hatte, fragte mich ein Infofenster, ob ich alle Prozesse beenden möchte.
    DeskLock wurde sofort beendet. Wenn man einfach auf Abbrechen klickt, so kann man den Desktop wieder frei benutzen.
    Mögliche Lösung wäre (wie oben schon gesagt wurde) die Idee mit den 2 .exe Dateien.


    Ich weiss nicht was passieren würde, wenn es keine aktiven Prozesse gäbe.


    EDIT: Sry :whistling: .. hab es heute morgen festgestellt, aber beim antworten nicht mehr alle Posts gelesen :S

  • PC automatisch starten

    • XovoxKingdom
    • 20. Januar 2010 um 17:31

    Hallo,
    ich würde gerne meinen PC (bzw. eher mein Notebook) automatisch starten lassen und das dann auch noch zu einer bestimmten Zeit.
    Ich hab mal etwas von einer BIOS Einstellung gehört (Wake-on-Power oder so ähnlich).
    Leider habe ich diese Funktion nicht gefunden als ich das Menü per F2 direkt beim Startvorgang gedrückt habe.
    (Notebook: Asus Aspire 7738G - Vista 32bit)
    Vielleicht gibts ja noch eine Software mit der man die Einstellungen im BIOS anpassen kann :huh:
    Wie die Wake-on-Lan Funktion funktioniert weiß ich nicht und ob das das richtige ist weiß ich auch nicht.
    Ich habe es bereits mit folgender Methode ausprobiert:
    "Aufgabenplanung" erstellt,
    Ruhemodus,
    Strom via Zeitschaltuhr abschalten,
    warten bis kurz vor eintritt der Zeit,
    Strom via Zeitschaltuhr einschalten
    Notebook startet automatisch*
    ---
    * Das automatische Einloggen klappt nicht, da ich erst auf den Benutzernamen klicken muss :(

    Nun frage ich mich, ob es möglich ist via "Aufgabenplanung" mich automatisch einzuloggen, oder ob ich etwas anderes ausprobieren sollte.
    (Wenn ich das Notebook manuell starte, klappts ohne den Klick auf den Benutzernamen bzw. Passwort)

    Ich hoffe ihr habt ideen und/oder Lösungen

  • Rekursionseinstieg: Fakultät - Logikproblem!?

    • XovoxKingdom
    • 19. Januar 2010 um 18:27

    Danke :D
    ich dachte Return würde die ganze "Funktionswulst" beenden und dann den Rückgabewert ausgeben :S

  • Rekursionseinstieg: Fakultät - Logikproblem!?

    • XovoxKingdom
    • 19. Januar 2010 um 18:14

    Ich habe mich mal an die Rekursion rangetraut, bin mit dem Ergebnis aber nicht zufrieden:

    [autoit]

    Func fa($num,$faktor)
    MsgBox(0,$num,$faktor); dient nur zur kontrolle und zeigt das richtige an
    $faktor = $faktor - 1
    If $faktor = 1 Then Return $num
    $num = $num * $faktor
    fa($num,$faktor)
    EndFunc
    $n=4
    $f=4
    $p=fa($n,$f); p = 0.. müsste aber den Wert von $num haben oder?
    MsgBox(0,"Fakultät von: "&$n,$p); ergibt nicht das Ergebnis, das ich haben will

    [/autoit]


    Die Msgbox (in der Funktion) gibt zwar die richtigen Werte, leider werden diese aber nicht in $p bzw. direkt zurückgegeben. ;(
    Wisst ihr wodran es liegt? Vielleicht ist es ja auch nur ein Logikproblem :rolleyes:

  • Hotkeyset Tastenkombi durchlassen

    • XovoxKingdom
    • 19. Januar 2010 um 16:48

    Diese Lösung finde ich gut (weil sie sehr kurz und knapp ist :) )
    leider klappt sie bei mir nicht:

    Zitat

    (4,34): ERROR: wrong nesting in initializer
    dim $accel[1][2]=[$dummyf5,"{F5}"]
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

  • Hotkeyset Tastenkombi durchlassen

    • XovoxKingdom
    • 19. Januar 2010 um 16:33

    Ich hab da mal was vorbereitet, das dein Problem lösen kann:
    F5 ist aktiv, wenn die GUI im Vordergrund ist;
    Mausklick innerhalb der GUI erzeugt eine MsgBox;
    Labels zeigen den aktuellen Status an;

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <Misc.au3>
    #Region ### START Koda GUI section ### Form=
    Global $hwnd, $DLL = DllOpen("user32.dll")
    $Form1 = GUICreate("Testgui", 222, 64)
    $hwnd = HWnd($Form1)
    $Label1 = GUICtrlCreateLabel("Status:", 8, 8, 37, 17)
    $Label2 = GUICtrlCreateLabel("Active", 64, 8, 148, 17)
    $Label3 = GUICtrlCreateLabel("Label3", 64, 32, 148, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $pos = GUIGetCursorInfo()
    $wpos = WinGetPos($hwnd)
    _inGUI($pos, $wpos)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    If _IsPressed("01", $DLL) Then
    If (MouseGetPos(0) > $wpos[0] And MouseGetPos(0) < $wpos[2] + $wpos[0]) = True And (MouseGetPos(1) > $wpos[1] And MouseGetPos(1) < $wpos[3] + $wpos[1]) Then
    If IsArray($pos) Then MsgBox(0, "GUI-Info", "Innerhalb der GUI" & @CRLF & $pos[0] & ", " & $pos[1])
    EndIf
    EndIf
    If _IsPressed("74", $DLL) Then
    If WinActive($hwnd) = True Then
    While _IsPressed("74", $DLL)
    Sleep(10)
    WEnd
    MsgBox(0, "GUI-Info", "F5 wurde gedrückt...!")
    EndIf
    EndIf
    WEnd

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

    Func _inGUI($pos, $wpos)
    If GUICtrlRead($Label2) = "Active" And WinActive($hwnd) = False Then
    GUICtrlSetData($Label2, "InActive")
    ElseIf GUICtrlRead($Label2) = "InActive" And WinActive($hwnd) = True Then
    GUICtrlSetData($Label2, "Active")
    Else
    Sleep(10)
    EndIf
    If (MouseGetPos(0) > $wpos[0] And MouseGetPos(0) < $wpos[2] + $wpos[0]) = True And (MouseGetPos(1) > $wpos[1] And MouseGetPos(1) < $wpos[3] + $wpos[1]) Then
    If GUICtrlRead($Label3) <> "Inside" Then GUICtrlSetData($Label3, "Inside")
    Else
    If GUICtrlRead($Label3) <> "Outside" Then GUICtrlSetData($Label3, "Outside")
    EndIf
    EndFunc ;==>_inGUI

    [/autoit]
  • VBA zu Autoit ( Ecxel )

    • XovoxKingdom
    • 10. Januar 2010 um 18:59

    guck dir mal die UDF an.. die wird dir sicher helfen!

    [autoit]

    #Include <Excel.au3>

    [/autoit]
  • InetGetSize in MB

    • XovoxKingdom
    • 7. Januar 2010 um 17:44

    Deine Formel liefert Bit und NICHT(!) Byte.
    8 Bit = 1 Byte
    1024 Byte = 1 kB
    1024 kB = 1 MB

    [autoit]

    Func tobyte($Num, $value)
    If IsInt($Num)=False Return -1
    Switch $value
    Case "GB"
    Return 1024^3*$Num
    Case "MB"
    Return 1024^2*$Num
    Case "kB"
    Return 1024*$Num
    Case "bit"
    Return $Num/8
    EndSwitch
    Return -1
    EndFunc

    [/autoit]

    (ungetestet)

  • Zu variable dazuadrieren

    • XovoxKingdom
    • 4. Januar 2010 um 18:13
    Zitat

    und wofür steht das?

    das steht zur konkatenation von strings (verbindung von zeichenketten)
    Beispiel:

    [autoit]

    $x="Hallo "
    $y="Welt"
    $x &= $y
    MsgBox(0,0,$x)

    [/autoit]
  • Anderer Skin?

    • XovoxKingdom
    • 4. Januar 2010 um 15:48

    guck bei autoitscript.com im forum unter Downloads -> libraries (UDFs) -> Xskin
    in der Hilfedatei ist alles sehr gut erklärt

  • Captcha

    • XovoxKingdom
    • 4. Januar 2010 um 15:42

    Ich würde mal sagen : JA!
    Du kannst dir mal GDIplus angucken.
    /Edit: boah.. wie langsam ich heute wieder bin :pinch:

  • Url bestandteil filtern

    • XovoxKingdom
    • 4. Januar 2010 um 15:38

    Ob die Zeichenfolge "youtube" in deinem ausgelesenen text ist kannst du per:

    [autoit]

    $Link="www.youtube.com"
    MsgBox(0,0,Stringinstr($Link,"youtube"))

    [/autoit]


    herausfinden.
    Der Rückgabewert ist die Position (steht auch alles in der Hilfe)

  • rechte maustaste emulieren

    • XovoxKingdom
    • 2. Januar 2010 um 12:13

    ich würde es noch etwas abändern (falls du die mittlere taste länger als 50ms drückst)

    [autoit]

    #include <Misc.au3>

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

    While 1
    If _IsPressed("04") Then ; 04 bedeutet: Middle mouse button (three-button mouse)
    MouseDown("right")
    Sleep(50)
    MouseUp("right")
    While _isPressed("04")
    sleep(10)
    Wend
    EndIf
    WEnd

    [/autoit]


    (ungetestet, sollte dennoch funktionieren) :rolleyes:

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™