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. ![]()
Beiträge von BugFix
-
-
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. -
Hi,
[autoit]
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.
#include <WinAPI.au3>
[/autoit][autoit][/autoit][autoit]
#include <WindowsConstants.au3>
#include <StructureConstants.au3>Global Const $HC_ACTION = 0
[/autoit][autoit][/autoit][autoit]
Global Const $WM_LBUTTONDOWN = 0x201Global $hStub_MouseProc = DllCallbackRegister("_MouseProc", "long", "int;wparam;lparam")
[/autoit][autoit][/autoit][autoit]
Global $hmod = _WinAPI_GetModuleHandle(0)
Global $hHook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($hStub_MouseProc), $hmod)
Global $gui, $btn1, $btn2$gui = GUICreate('Mouse-Hook', 400, 300)
[/autoit][autoit][/autoit][autoit]
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()While 1
[/autoit][autoit][/autoit][autoit]
$msg = GUIGetMsg()
Switch $msg
Case -3
Exit
Case $btn1
MsgBox(0, '', 'Button 1 geklickt')
Case $btn2
MsgBox(0, '', 'Button 2 geklickt')
EndSwitch
WEndFunc _MouseProc($nCode, $wParam, $lParam)
[/autoit][autoit][/autoit][autoit]
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)
EndFuncFunc OnAutoItExit()
[/autoit][autoit][/autoit][autoit]
_WinAPI_UnhookWindowsHookEx($hHook)
DllCallbackFree($hStub_MouseProc)
EndFunc ;==>OnAutoItExitFunc _MouseOverCtrl($GUI, $ID)
[/autoit]
If Not BitAND(WinGetState($GUI),
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 -
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. -
Guck dir das mal an: eigene Lautstärkeregelung einblendbar
-
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.
Dagegen ist AutoIt ein Hochgeschwindigkeitszug. 
-
Wenn das Label nur zur Beschreibung dient, brauchst du meist auch dessen ID nicht.
[autoit]
Kannst es dann z.B. so machen:$gui = GUICreate('test')
[/autoit][autoit][/autoit][autoit]
$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()Do
[/autoit][autoit][/autoit][autoit]
Until GUIGetMsg() = -3Func _GUICtrlCreateCBwLabel($titleCB, $left, $top, $width, $height=-1, $titleLa='', $widthLa=1, $color=0x0000FF)
[/autoit]
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 -
Dann probier mal Verdana, das kommt dem sehr nahe denke ich.
-
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. -
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.
-
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:
Dies muß dann vom Empfänger bestätigt werden, allerdings hatte ich den Receive bisher nie protokolliert.
Einfach mal alles in eine Logdatei schreiben. -
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.
-
Hurra, gewonnen. 
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.
-
Es ist ausdrücklich verboten:
Zitat von 6. Generelle NutzungsbeschränkungenSie 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.
-
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? -
Ich habe leider den Abgabetermin etwas verschlafen (mein Script war schon lange fertig
Oops, geht mir genauso. Ich schicke es mal noch schnell rein.
-
Lizenzfreie Blumen-Fotos findest du z.B. hier:
http://www.oldskoolman.de/bilder/natur/blumen/ und
http://www.blumen-fotos.de/ -
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. -
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.
-
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.

Somit braucht es schon überzeugender Argumente um mich eines 'Besseren' zu belehren. ( In meiner Schulzeit sind daran so einige Lehrer fast verzweifelt
).
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?