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

  • Ist GUICtrlSetOnEvent schneller als eine While + GUIGetMsg -Loop?

    • BugFix
    • 13. August 2009 um 09:15

    Auch wenn ich lieber im OnEvent-Mode arbeite - rein unter Betrachtung des Codes sehe ich keinen Grund, warum die Modi unterschiedliche Speed haben sollten. Hier könnte sogar der OnEvent-Mode Zeit verlieren, wenn das Sleep() in der While-Schleife mehr Zeit frißt als GuiGetMsg() benötigt. :D

  • *Mausklick* ohne Klickbefehl in Windoof auszuführen via hooking

    • BugFix
    • 13. August 2009 um 09:02
    Zitat von PokerFace

    Wie einen Klick ausführen, wenn man ihn gar nicht macht


    Stimmt, du hast es völlig falsch verstanden. ;)
    Es geht darum, bei einem Mausklick die zugehörige Aktion abzufangen und durch eine andere zu ersetzen. Dieses Abfangen nennt man Hook. In meinem Bsp. Kannst du mit der Maus auf Button1 klicken so oft du willst - der Button wird einfach nicht betätigt, der Klick landet in diesem Fall im Nirvana.

  • *Mausklick* ohne Klickbefehl in Windoof auszuführen via hooking

    • BugFix
    • 13. August 2009 um 00:09

    Hi,
    ich hab dir mal ein Bsp. gemacht.
    Immer schön aufpassen, dass der Hook nur für ein bestimmtes Ctrl /GUI gültig ist. Ansonsten schießt du dir die Maus ab. :D

    [autoit]

    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    #include <StructureConstants.au3>

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

    Global Const $HC_ACTION = 0
    Global Const $WM_LBUTTONDOWN = 0x201

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

    Global $hStub_MouseProc = DllCallbackRegister("_MouseProc", "long", "int;wparam;lparam")
    Global $hmod = _WinAPI_GetModuleHandle(0)
    Global $hHook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($hStub_MouseProc), $hmod)
    Global $gui, $btn1, $btn2

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

    $gui = GUICreate('Mouse-Hook', 400, 300)
    GUICtrlCreateLabel('Der Klick auf den Button 1 bleibt wirkungslos', 10, 10, 380)
    $btn1 = GUICtrlCreateButton('Button 1', 20, 40, 100, 20)
    $btn2 = GUICtrlCreateButton('Button 2', 150, 40, 100, 20)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case -3
    Exit
    Case $btn1
    MsgBox(0, '', 'Button 1 geklickt')
    Case $btn2
    MsgBox(0, '', 'Button 2 geklickt')
    EndSwitch
    WEnd

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

    Func _MouseProc($nCode, $wParam, $lParam)
    If $nCode < 0 Or (Not _MouseOverCtrl($gui, $btn1)) Then
    Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
    EndIf
    If $nCode = $HC_ACTION And $wParam = $WM_LBUTTONDOWN Then
    ; hier kann Ersatzfunktion aufgerufen werden
    Return -1 ; Mausklick wird ignoriert
    EndIf
    Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
    EndFunc

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

    Func OnAutoItExit()
    _WinAPI_UnhookWindowsHookEx($hHook)
    DllCallbackFree($hStub_MouseProc)
    EndFunc ;==>OnAutoItExit

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

    Func _MouseOverCtrl($GUI, $ID)
    If Not BitAND(WinGetState($GUI), 8) Then Return False
    Local $old = Opt('MouseCoordMode', 2)
    Local $posM = MouseGetPos()
    Opt('MouseCoordMode', $old)
    Local $posC = ControlGetPos($gui, '', $ID)
    If ($posM[0] >= $posC[0] And $posM[0] <= $posC[0]+$posC[2]) And _
    ($posM[1] >= $posC[1] And $posM[1] <= $posC[1]+$posC[3]) Then
    Return True
    Else
    Return False
    EndIf
    EndFunc

    [/autoit]
  • Bunte Labels erzeugen

    • BugFix
    • 12. August 2009 um 09:49

    Hi,
    funzt soweit.
    Allerdings sollte man beachten, dass nicht alle Fonts überall verfügbar sind. Auf meinem PC gibt es z.B. "Colonna MT" nicht und somit liefert die Größenermittlung den Wert 0 für beide Parameter zurück.

  • Lautstärke Regeler...

    • BugFix
    • 11. August 2009 um 21:45

    Guck dir das mal an: eigene Lautstärkeregelung einblendbar

  • Warum ist AutoIt so langsam?

    • BugFix
    • 11. August 2009 um 19:51
    Zitat von Deepred

    Java läuft doch auch mit Interpreter und ist schon so schnell wie C++.


    Du hast noch nicht gesehen, wie "schnell" Java-Anwendungen auf meinem Laptop laufen. :rofl: Dagegen ist AutoIt ein Hochgeschwindigkeitszug. :D

  • Label Text zwei farbig?

    • BugFix
    • 11. August 2009 um 08:33

    Wenn das Label nur zur Beschreibung dient, brauchst du meist auch dessen ID nicht.
    Kannst es dann z.B. so machen:

    [autoit]

    $gui = GUICreate('test')
    $cb1 = _GUICtrlCreateCBwLabel('CB 1', 10, 10, 50, -1, 'Das Label 1', 70, 0xFF0000)
    $cb1 = _GUICtrlCreateCBwLabel('CB 2', 10, 40, 50, -1, 'Das Label 2', 70, 0xFFFF00)
    $cb1 = _GUICtrlCreateCBwLabel('CB 3', 10, 70, 50, -1, 'Das Label 3', 70)
    GUISetState()

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

    Do
    Until GUIGetMsg() = -3

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

    Func _GUICtrlCreateCBwLabel($titleCB, $left, $top, $width, $height=-1, $titleLa='', $widthLa=1, $color=0x0000FF)
    If $height < 0 Then $height = 17
    GUICtrlCreateLabel($titleLa, $left+$width, $top+1, $widthLa, $height)
    GUICtrlSetColor(-1, $color)
    Return GUICtrlCreateCheckbox($titleCB, $left, $top, $width, $height)
    EndFunc

    [/autoit]
  • Welche Schriftart wird hier verwendet?

    • BugFix
    • 9. August 2009 um 13:58

    Dann probier mal Verdana, das kommt dem sehr nahe denke ich.

  • Welche Schriftart wird hier verwendet?

    • BugFix
    • 9. August 2009 um 13:39
    Zitat von Deepred

    welche Schriftart AutoIt als Standard hat?


    In AutoIt wird als Default: MS Sanse Serif verwendet.
    M.E. wird auch von FZ diese Schriftart verwendet. Ich sehe keinen auffälligen Unterschied.

  • Basis-Client für IRC-Chat

    • BugFix
    • 8. August 2009 um 18:36
    Zitat von Puppses

    Habe ihn gerade auf einem anderem Server getestet und dort geht alles perfekt. hmm... nur woran könnte es liegen?

    Vermutlich Channelbeschränkung - nicht alle Chats erlauben den Zugang von (nicht autorisierten) Bots.

  • TCPsend über IRC?

    • BugFix
    • 8. August 2009 um 12:42

    Du kannst es mal selber testen, indem du die Nachrichten protokollierst.
    Wenn ich mich recht erinnere startet die Aufforderung zum DCC-Chat mit der Nachricht:

    Code
    :Nick!Name@host PRIVMSG #Channel :DCC CHAT


    Dies muß dann vom Empfänger bestätigt werden, allerdings hatte ich den Receive bisher nie protokolliert.
    Einfach mal alles in eine Logdatei schreiben.

  • Autoit Excel Problem

    • BugFix
    • 5. August 2009 um 21:40

    Puh, was hast du denn da vor - mit Send-Befehlen auf eine Excel-Tabelle zugreifen ist doch absolut unnötig. Schau dir mal die Excel-UDF an. Dort findest du alle Befehle um direkt Zellen auszulesen bzw. zu beschreiben.

  • µit - Juli

    • BugFix
    • 5. August 2009 um 21:32

    8o Hurra, gewonnen. :D

    Also das mein Skript so deutlich schneller ist, hatte ich echt nicht erwartet.
    Ich wollte eigentlich noch am Speed optimieren. Habs dann irgendwie vergessen. Vom BigInteger-Wettbewerb, wußte ich noch, dass If-Statements (egal ob mit oder ohne EndIf) die totale Bremse sind. Ein Ersetzen mit Switch-Case sollte da einen echten Gewinn bringen. Sieht bloß blöd aus, für ein Case ein ganzes Statement zu verwenden. ^^

  • YouTube Downloader ?

    • BugFix
    • 2. August 2009 um 17:41

    Es ist ausdrücklich verboten:

    Zitat von 6. Generelle Nutzungsbeschränkungen

    Sie erklären sich damit einverstanden, Zugriff auf Nutzervideos nur in der Form des Streamings und zu keinen anderen Zwecken als der rein persönlichen, nicht-kommerziellen Nutzung, und nur in dem Rahmen zu nehmen, der durch die normale Funktionalität der Dienste vorgegeben und erlaubt ist. „Streaming“ bezeichnet eine gleichzeitige digitale Übertragung des Materials über das Internet durch YouTube auf ein nutzerbetriebenes internetfähiges Endgerät in einer Weise, bei der die Daten für eine Echtzeitansicht bestimmt sind, nicht aber für einen (permanenten oder vorübergehenden) Download, ein Kopieren, ein Speichern oder einen Weitervertrieb durch den Nutzer.

  • FF Passwort speichern ( automatisch )

    • BugFix
    • 2. August 2009 um 09:48

    Wenn du diese Daten speichern möchtest, brauchst du doch nur einmalig bestätigen. Und in Zukunft wird dein Browser dich nie mehr für diese Seite mit der Anfrage 'belästigen'.
    Automatisieren läßt sich das im Browser nicht (zum Glück). Oder möchtest du, dass ohne deine Zustimmung alle deine Zugangsdaten gespeichert werden?

  • µit - Juli

    • BugFix
    • 2. August 2009 um 08:36
    Zitat von Oscar

    Ich habe leider den Abgabetermin etwas verschlafen (mein Script war schon lange fertig


    Oops, geht mir genauso. Ich schicke es mal noch schnell rein. :rolleyes:

  • Problem bei Ladezeiten

    • BugFix
    • 1. August 2009 um 23:02

    Lizenzfreie Blumen-Fotos findest du z.B. hier:
    http://www.oldskoolman.de/bilder/natur/blumen/ und
    http://www.blumen-fotos.de/

  • Was haltet ihr von der Piratenpartei?

    • BugFix
    • 1. August 2009 um 22:37

    Ich denke, es wird niemals eine Partei geben, mit der man 100 % konform geht.
    Aber mit den Zielen der Piratenpartei erreiche ich zumindest ein Höchstmaß an Deckung zu meiner Meinung.
    Es ist aber mehr als unwahrscheinlich, dass sie in den nächsten 2 - 3 Wahlperioden eine Verbreitung erreichen, die den Sprung in den Bundestag ermöglichen würde.

  • Problem bei Ladezeiten

    • BugFix
    • 1. August 2009 um 22:26
    Zitat von niccos

    Ich will zu einem betsimmten Thema viele Bilder herbekommen (aus Google-Bilder) und dass ich nicht jedes einzeln kopieren muss und "weiterverarbeiten" hab ich nen Skript geschrieben,


    Auch auf die Gefahr hin, dass ich nervend wirke: Aber Google untersagt in seinen Nutzungsbedingungen ausdrücklich einen Zugang auf Googledienste per Skript!
    Man sollte schon bei Dienstanbietern die AGB's bzw. Nutzungsbedingungen durchlesen. Das erspart u. U. 'ne Menge Ärger. :whistling:

  • TextMeter

    • BugFix
    • 1. August 2009 um 20:58
    Zitat von Schnuffel

    Eine Checkbox die nicht ausgegraut ist wird wohl grundsätzlich zum anklicken anregen.


    Es ist aber ausgegraut(disabled). Ich habe zur Beschriftung nur extra Label gesetzt, damit diese lesbar sind. ;)

    Übrigens bin ich Kritik gegenüber immer offen, allerdings bin ich auch ein alter Sturkopf mit festen Meinungen. :D
    Somit braucht es schon überzeugender Argumente um mich eines 'Besseren' zu belehren. ( In meiner Schulzeit sind daran so einige Lehrer fast verzweifelt :P ).
    Ich stelle nur mal folgendes in den Raum:
    - statt der Checkboxen verwende ich Inputs gleicher Größe und setze ein X für Status
    - dann 'mißbrauche' ich nicht die Funktionalität der Checkboxen
    - für den Nutzer ist es aber dieselbe Situation
    Was ist dadurch gewonnen? :whistling:

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™