Leider funktioniert das Erste nur unter 2000/XP
AB 2000/XP.
Und wer heute noch mit Win 95 oder 98 rumgurkt, ists selber schuld.
Leider funktioniert das Erste nur unter 2000/XP
AB 2000/XP.
Und wer heute noch mit Win 95 oder 98 rumgurkt, ists selber schuld.
Send("{VOLUME_MUTE}")
[/autoit][autoit]SoundSetWaveVolume(0)
[/autoit]Forum -> Projekte -> Firefox Automatisierung
https://autoit.de/index.php?page=Board&boardID=32
und der 5te Thread hat sogar den unheilvollen Namen
"Probleme mit verschiedenen Funktionen ..."
Wer so unpräzise Antworten gibt, will zu 99,4 % einen Bot schreiben.
Mein Bauchgefühl lügt selten !
Hallo Alina,
Um das ganze mal aufzuklären: Das -3 habe ich mit GUISetOnEvent benutzt, nicht GUICtrlSetOnEvent.
[autoit]GUISetOnEvent ( specialID, "function" [, winhandle] )
[/autoit]Die -3 ist in diesem Fall eine specialID und steht für $GUI_EVENT_CLOSE. Die Werte der einzelnen "Event"-Konstanten findet man in GUIConstantsEx.au3
; Events and messages
Global Const $GUI_EVENT_CLOSE = -3
Global Const $GUI_EVENT_MINIMIZE = -4
Global Const $GUI_EVENT_RESTORE = -5
Global Const $GUI_EVENT_MAXIMIZE = -6
Global Const $GUI_EVENT_PRIMARYDOWN = -7
Global Const $GUI_EVENT_PRIMARYUP = -8
Global Const $GUI_EVENT_SECONDARYDOWN = -9
Global Const $GUI_EVENT_SECONDARYUP = -10
Global Const $GUI_EVENT_MOUSEMOVE = -11
Global Const $GUI_EVENT_RESIZED = -12
Global Const $GUI_EVENT_DROPPED = -13
Zu der -1: Wenn man sie als ControlID verwendet, bezieht sich die Funktion (Zum Beispiel GUICtrlSetOnEvent) auf das zuletzt erstellte Control
Und -2 gibts weder als Control ID, noch als Event. Aber als Farbcode
Und zwar ist -2 eine transparente Farbe, die du zum Beispiel als Hintergrundfarbe eines Labels benutzen kannst
HotKeySet("{ESC}","_Exit")
$hGUI = GUICreate("", 240, 50)
GUISetBkColor(0x00FFFF)
GUICtrlCreateLabel("Ich bin ein Label", 20, 20, 200, 20)
GUISetState()
While 1
GUICtrlSetBkColor(-1, 0xFF0000)
Sleep(1000)
GUICtrlSetBkColor(-1, -2)
Sleep(1000)
WEnd
Func _Exit()
Exit
EndFunc
also das von SEuBo versteh ich leider nicht
Aus dem
$hGUI = GUICreate("",240,90)
$cButton = GUICtrlCreateButton("Klick mich", 20, 20, 200, 20)
$cButton_2 = GUICtrlCreateButton("Klick mich auch mal", 20, 50, 200, 20)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
Case $cButton
MsgBox(0,"","Du hast Button #1 geklickt!")
Case $cButton_2
MsgBox(0,"","Du hast den anderen Knopf gedrückt")
EndSwitch
WEnd
Wird das:
Opt("GUIOnEventMode", 1)
$hGUI = GUICreate("", 240, 90)
GUISetOnEvent(-3, "_OnEventHandler")
$cButton = GUICtrlCreateButton("Klick mich", 20, 20, 200, 20)
GUICtrlSetOnEvent(-1, "_OnEventHandler")
$cButton_2 = GUICtrlCreateButton("Klick mich auch mal", 20, 50, 200, 20)
GUICtrlSetOnEvent(-1, "_OnEventHandler")
GUISetState()
While Sleep(1000)
WEnd
Func _OnEventHandler()
Switch @GUI_CtrlId
Case -3
Exit
Case $cButton
MsgBox(0, "", "Du hast Button #1 geklickt!")
Case $cButton_2
MsgBox(0, "", "Du hast den anderen Knopf gedrückt")
EndSwitch
EndFunc ;==>_OnEventHandler
ist ja eine sehr sehr aufwendige sache, da man jedes einzelne case rausnehmen muss und es mit funktionen ersetzen muss..
nö.
Einfach eine Funktion _OnEventHandler() anlegen, und alle Controls mit dieser Verknüpfen. Dann kannst du deinen "normalen" GUIGetMsg() Swtich/Case übernehmen, nur dass du statt
[autoit]Switch $nMsg
Case -3
Exit
EndSwitch
Switch @GUI_CtrlId
Case -3
Exit
EndSwitch
Nur leider scheint das kaum einer zu wissen oder zu nutzen. Find ich irgendwie dumm.
Ersten Beitrag des Threads bearbeiten, Präfix auf gelöst setze, und speichern bzw. Absenden.
Klappt es so?
[autoit]$sRead = ControlGetText("Fußball Manager","","Edit1")
MsgBox(0,"",$sRead)
Ist das mit AutoIt möglich?
Ja.
IdR mit ControlGetText. Eintragen kannst du es zb. über die IE-Funktionen (_IEFormElementSetValue)
SEuBo, ein 750W Netzteil für 40€?`
Wie gesagt - Es funktioniert nach über 1 1/2 Jahren noch ohne eine einzige Macke. Ich bin kein Hardware Freak und hab auch keine 5 HD's und ein 3er SLI in den Rechner reingeknallt - kann dir also nicht sagen wie das ganze unter Vollbelastung aussehen würde. Das Netzteil bietet allerdings alles was ich brauchte - genug IDE / SATA Stromanschlüsse und 1 oder 2 PCIe Anschlüsse. Mehr brauch ich nicht, und wie gesagt : Das Netzteil tut seinen Dienst. Ohne Abstürze und ohne Krach.
https://autoit.de/index.php?page=Thread&threadID=9231
eine andere, leichter Verständlichere Methode wäre folgende:
Du erstellst dein "normales" GUI. Setzt es mit WinSetTrans auf volle Transparenz. Außerdem erstellst du für jedes weitere Control (Button, Listbox, usw.) ein eigenes Unter-GUI. Ein sog. Child-GUI, dazu benutzt du den Window-Style $WS_POPUP und den Ex-Style $WS_EX_MDICHILD. Dieses Child GUI hat genau die Abmessungen deines Controls; Folglich füllt das Control das Child GUI komplett aus, und du hast ein "schwebendes" Control
[autoit]#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$hGUI = GUICreate("")
GUISetState(5,$hGUI)
WinSetTrans($hGUI,"",0)
$hChildGUI = GUICreate("",200,200,20,20,$WS_POPUP,$WS_EX_MDICHILD,$hGUI)
GUICtrlCreateList("ESC zum beenden",0,0,200,200)
GUISetState(5,$hChildGUI)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
Wend
Als Netzteil würde ich das hier empfehlen:
http://www.amazon.de/DTK-Combat-Sup…l/dp/B0015RXZBI
Das leistet mir bzw meiner Freundin seit 1 1/2 Jahren gute Dienste, und bietet ein unglaubliches Preis/Leistungs Verhältnis.
Warum nur 10 Checkboxen?
und warum muss der Nutzer das selbst mit AdlibRegister übrprüfen lassen?
Wäre da eine GUIRegisterMsg Lösung nicht eleganter?
1.Was bringt das?
Dann brauchst du kein Send. Das Script braucht also keinen absoluten Fokus, und du kannst es im Hintergrund laufen lassen. Send ist so unsicher und ungenau.
Bsp:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Google ", 533, 26, 186, 179)
$Suche = GUICtrlCreateInput("Suche", 0, 0, 457, 21)
$Button1 = GUICtrlCreateButton("Suchen", 456, 0, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
Dim $Form1_AccelTable[1][2] = [["+{F12}", $Button1]]
GUISetAccelerators($Form1_AccelTable)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$oIE = _IECreate("http://www.google.de")
$oForm = _IEFormGetCollection($oIE,0) ; Formular-Objekt holen
$oSuchfeld = _IEFormElementGetObjByName($oForm,"q") ; Suchfeld-Objekt holen
_IEFormElementSetValue($oSuchfeld,GUICtrlRead($Suche)) ; Text in Suchfeld setzen
_IEFormSubmit($oForm) ; Formular abschicken
EndSwitch
WEnd
Das hier meinte Oscar:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Google ", 533, 26, 186, 179)
$Suche = GUICtrlCreateInput("Suche", 0, 0, 457, 21)
$Button1 = GUICtrlCreateButton("Suchen", 456, 0, 75, 25, $WS_GROUP)
;~ $inhalt = GUICtrlRead($Suche) <===================================== Von hier
GUISetState(@SW_SHOW)
Dim $Form1_AccelTable[1][2] = [["+{F12}", $Button1]]
GUISetAccelerators($Form1_AccelTable)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$IE = _IECreate("http://www.google.de")
$Coll = _IEFormElementGetCollection($IE,0)
$Obj = _IEFormElementGetObjByName($Coll,"q")
_IEAction($Obj,"focus")
;~ send($inhalt)
$inhalt = GUICtrlRead($Suche) ; <========================= Nach hier!
$Obj = _IEFormElementGetObjByName($Coll,"btnG")
_IEAction($Obj,"focus")
send( "{ENTER}" )
EndSwitch
WEnd
Übrigens solltest du dir mal
[autoit]_IEFormElementSetValue
[/autoit]
zu Gemüte führen.
Mal ehrlich, ich weiss nicht, warum ihr euch mit stringregexp() die Mühe macht!?
Du hattest mir da mal von einem Zitat erzählt
"A tendency to overuse this new toy"
Wenn ich eine Tabelle sehe, aus der irgendwas ausgelesen werden soll, und diese im Textformat vorliegt - Dann rate ich zu RegExp. Das spart viele Codezeilen.
Ich auch, und hier ist auch direkt noch ein Beispiel:
#include <Array.au3>
$sString = _
"10002|TEC Datensicherung|10.00" & @CRLF & _
"10003|TEC Datensicherung2|50.00" & @CRLF & _
"10004|DAT Kundendatei2|5.00"
$sSuche = "Tec DAT"
$aRet = _RegExp($sString,'(?i)\|([^|]*'&$sSuche&'[^|]*)\|([\d.]+)')
_ArrayDisplay($aRet)
Func _RegExp($sTest, $sPattern, $iOffset = 0)
; Easy RegExp with >1 Subpattern
Local $aRet, $iUB, $iUB2, $aDummy, $aNewArr
$aRet = StringRegExp($sTest, $sPattern, 4, $iOffset)
If @error Then Return
Local $iUB = UBound($aRet), $iUB2 = UBound($aRet[0]), $aNewArr[$iUB][$iUB2 - 1]
For $i = 0 To $iUB - 1
Local $aDummy = $aRet[$i], $iUBD = UBound($aDummy)
If $iUBD - 1 > $iUB2 Then
$iUB2 = $iUBD
ReDim $aNewArr[$iUB][$iUB2]
EndIf
For $j = 1 To $iUBD - 1
$aNewArr[$i][$j - 1] = $aDummy[$j]
Next
Next
Return $aNewArr
EndFunc ;==>_RegExp
Sprenger hats schon in seinem Vorpost richtig erkannt.
ZitatWenn nicht findet sich in der BassFX bestimmt etwas
http://www.autoitscript.com/forum/index.php?showtopic=83481
ZitatBassFX (By eukalyptus/BrettF)
An extension providing several effects, including tempo & pitch control.
Also wenn du jetzt keine alles könnende XML UDF brauchst, sondern nur ein paar Werte auslesen willst, würd ich das mit Regulären Audrücken machen.
[autoit]#include <Array.au3>
$sText = ClipGet() ; Text der XML Datei; hier geht natürlich auch FileRead()
$aPort = StringRegExp($sText,"Port[^>]+>(\d+)",3)
_ArrayDisplay($aPort)