Zitat von Hilfe@ERROR = 3 - Unable to resolve IP
Demnach stimmt die IP-Adresse nicht.
Zitat von Hilfe@ERROR = 3 - Unable to resolve IP
Demnach stimmt die IP-Adresse nicht.
Na dann zuerst Guicreate und dann GuiDelete ![]()
Bei der eigenen Gui kannst du dann gleich GuiDelete und dann wieder GuiCreate verwenden.
ControlMove('Program Manager', "", 'Shell Embedding1', 0, 0, @DesktopWidth, @DesktopHeight)
[/autoit]@NumParams verwendest du in Funktionen, damit du weißt, wieviele Parameter der Funktion übergeben wurden.
Beispiel aus der Misc.au3
; #FUNCTION# ====================================================================================================================
; Name...........: _MouseTrap
; Description ...: Confine the Mouse Cursor to specified coords.
; Syntax.........: _MouseTrap([$iLeft = 0[, $iTop = 0[, $iRight = 0[, $iBottom = 0]]]])
; Parameters ....: $iLeft - Left coord
; $iTop - Top coord
; $iRight - Right coord
; $iBottom - Bottom coord
; Return values .: Success - True
; Failure - False
; Author ........: Gary Frost (gafrost)
; Modified.......:
; Remarks .......: Use _MouseTrap() with no params to release the Mouse Cursor
; Related .......:
; Link ..........;
; Example .......; Yes
; ===============================================================================================================================
Func _MouseTrap($iLeft = 0, $iTop = 0, $iRight = 0, $iBottom = 0)
Local $iResult, $tRect
If @NumParams == 0 Then
$iResult = DllCall("user32.dll", "int", "ClipCursor", "int", 0)
Else
If @NumParams == 2 Then
$iRight = $iLeft + 1
$iBottom = $iTop + 1
EndIf
$tRect = DllStructCreate($tagRect)
If @error Then Return 0
DllStructSetData($tRect, "Left", $iLeft)
DllStructSetData($tRect, "Top", $iTop)
DllStructSetData($tRect, "Right", $iRight)
DllStructSetData($tRect, "Bottom", $iBottom)
$iResult = DllCall("user32.dll", "int", "ClipCursor", "ptr", DllStructGetPtr($tRect))
EndIf
Return $iResult[0] <> 0
EndFunc ;==>_MouseTrap
Dietmar: Versuchs mal damit
Global $FensterTitel = 'Fenstertitel'
Global $Bekannter_Text = 'Diesen Text kenne ich'
Global $Array = _WinGetCtrlInfo(WinGetTitle($FensterTitel))
Global $sOne = '[0][0] = ' & $Array[0][0] & @CR, $sTwo
For $iCC = 1 To $Array[0][0]
$sOne &= '[' & $iCC & '][0] = ' & $Array[$iCC][0] & @CR
$sTwo &= '[' & $iCC & '][1] = ' & $Array[$iCC][1] & @CR
Next
MsgBox(64, 'WinInfo', StringTrimRight($sOne, 1) & @CR & StringTrimRight($sTwo, 1))
[/autoit] [autoit][/autoit] [autoit]For $i = 1 To $Array[0][0]
If ControlGetText(WinGetTitle($FensterTitel), "", $Array[$i][0]) = $Bekannter_Text Then MsgBox(64,"Gefunden", $Array[$i][0])
Next
Func _WinGetCtrlInfo($hWin)
If IsString($hWin) Then $hWin = WinGetHandle($hWin)
Local $sClassList = WinGetClassList($hWin), $iAdd = 1, $aDLL, $sHold
Local $aSplitClass = StringSplit(StringTrimRight($sClassList, 1), @LF), $aReturn[1][2]
For $iCount = $aSplitClass[0] To 1 Step - 1
Local $nCount = 0
While 1
$nCount += 1
If ControlGetHandle($hWin, '', $aSplitClass[$iCount] & $nCount) = '' Then ExitLoop
If Not StringInStr(Chr(1) & $sHold, Chr(1) & $aSplitClass[$iCount] & $nCount & Chr(1)) Then
$sHold &= $aSplitClass[$iCount] & $nCount & Chr(1)
$iAdd += 1
ReDim $aReturn[$iAdd][2]
$aReturn[$iAdd - 1][0] = $aSplitClass[$iCount] & $nCount
$aDLL = DllCall('User32.dll', 'int', 'GetDlgCtrlID', 'hwnd', _
ControlGetHandle($hWin, '', $aSplitClass[$iCount] & $nCount))
If @error = 0 Then
$aReturn[$iAdd - 1][1] = $aDLL[0]
Else
$aReturn[$iAdd - 1][1] = ''
EndIf
EndIf
WEnd
Next
$aReturn[0][0] = $iAdd - 1
Return $aReturn
EndFunc
Es ist schwer zu helfen, ohne url.
Ich würde eine Schleife mit Wingettitle(....) machen, dann StringInStr, dann _IEFormSubmit oder _IELinkClickByText, aber wie gesagt, ohne besseren Code von dir oder url kann ich nicht viel mehr sagen.
Ich finde einen 'Danke-Button' nicht wichtig. Ich freue mich auch so über jedes ernst gemeinte Danke.
Den einzigen Vorteil den ich sehe, ist das der Benutzerrang ein bisschen richtiger angezeigt werden könnte, also nicht ein Anfänger als Profi angezeigt wird, nur weil er viele Fragen hat, und nicht ein Profi als Anfänger, da er nicht so oft Fragen stellt.
Mit der Funktion '_SysTrayIconVisible' aus der SysTray-UDF
WinGetClassList
[/autoit]If $Filelist[0]=0 Then
MsgBox(0,"Fehler","Der angegebene Ordner enthält keine dateien.")
EndIf
For $i = 1 to $Filelist[0]
Assign('Name'&$i, $Filelist[$i])
Next
Ich weiß garnicht wo ich bei dem Beispiel anfangen soll Fehler auszubessern, deswegen habe ich jetzt auf halbem Weg aufgehört, weil es mir zu bunt wurde. Warum musst du immer eine Extrawurst habe?
Schneller wäre ich, wenn ich den Code komplett neu schreiben würde.
Ergebnis meiner bisherigen Bemühungen:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Dim $Mitte[2]
$Mitte[0] = @DesktopWidth /2 - (520/2)
$Mitte[1] = @DesktopHeight / 2- (570/2)
#Region ### START Koda GUI section ### Form=
$Ramen = GUICreate("INC Light", 520, 570, $Mitte[0],$Mitte[1],$WS_POPUP);+$WS_CLIPCHILDREN)
$RamenPic = GUICtrlCreatePic(@ScriptDir & "\Skin\1.gif", 0, 0, 520, 570, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS),$GUI_WS_EX_PARENTDRAG)
_Ecken($Ramen,0,0,11,11)
WinSetTrans ($Ramen,"",200)
$Innen = GUICreate("", 507, 555,3,5,$WS_POPUP+$WS_CHILD, BitOR ($GUI_WS_EX_PARENTDRAG,$WS_EX_MDICHILD),$Ramen)
$Hintergrund = GUICtrlCreatePic(@ScriptDir & "\Skin\2.gif", 0, 0, 507, 557, BitOR($SS_NOTIFY,$WS_CLIPSIBLINGS,$WS_DISABLED))
$X = GUICtrlCreatePic(@ScriptDir & "\Skin\3.gif", 478, 0, 30, 15, 0);BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$WS_EX_TRANSPARENT,$WS_EX_TOPMOST ))
GUICtrlSetBkColor (-1,$GUI_BKCOLOR_TRANSPARENT)
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Innen, "int", 400, "long", 0x00040010);Slide von unten ein
GUISetState(@SW_SHOW,$Innen)
GUISetState(@SW_SHOW,$Ramen)
$Status = False
#EndRegion ### END Koda GUI section ###
GUIRegisterMsg($WM_MOVE, "_Move")
While 1
If _Over($Innen,$X) Then
;~ If $Status = False Then
;~ GUISetState (@SW_LOCK,$Innen)
GUICtrlSetImage ($X,@ScriptDir & "\Skin\4.gif")
;~ GUISetState (@SW_UNLOCK,$Innen)
;~ $Status = True
;~ EndIf
Else
;~ If $Status = True Then
;~ GUISetState (@SW_LOCK,$Innen)
GUICtrlSetImage ($X,@ScriptDir & "\Skin\3.gif")
;~ GUISetState (@SW_UNLOCK,$Innen)
;~ $Status = False
;~ EndIf
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $X
Exit
EndSwitch
Sleep (10)
WEnd
Func _Ecken($h_win, $i_x1, $i_y1, $i_x3, $i_y3)
Local $XS_pos, $XS_ret, $XS_ret2
$XS_pos = WinGetPos($h_win)
$XS_ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $XS_pos[2], "long", $XS_pos[3], "long", $i_x3, "long", $i_y3)
If $XS_ret[0] Then
$XS_ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $XS_ret[0], "int", 1)
EndIf
EndFunc ;==>_GuiRoundCorners
Func _Move()
GUISetState (@SW_LOCK,$Innen)
GUISetState (@SW_UNLOCK,$Innen)
EndFunc
Func _Over($hWnd,$hObj)
Local $Curser
$Curser = GUIGetCursorInfo($hWnd)
If $Curser[4] = $hObj Then
Return True
Else
Return False
EndIf
EndFunc
Habe mir für die Zukunft folgendes Skript geschrieben, das den Avira-Guard beim kompilieren vorübergehend deaktiviert:
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Description=Programm zum vorübergehenden ausschalten der Avira-Guard
#AutoIt3Wrapper_Res_Fileversion=1.0
#AutoIt3Wrapper_Res_Language=3079
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include 'systray.au3'
#include <Array.au3>
Global $TrayPos[2], $MousePos = MouseGetPos()
[/autoit] [autoit][/autoit] [autoit]If $cmdline[0] = 1 Then
If $cmdline[1] = 1 Then _ActivateAvira(1)
If $cmdline[1] = 0 Then _ActivateAvira(0)
EndIf
Func _ActivateAvira($iOnOff = 1)
Local $SysTitles = _SysTrayIconTitles()
For $i = 0 To UBound($SysTitles) - 1
If $SysTitles[$i] = 'Avira AntiVir Personal - Free Antivirus - SysTray' Then ExitLoop
Next
$TrayPos = _SysTrayIconPos($i)
If StringInStr(_SysTrayIconTooltip($i), 'Guard: inaktiv') And $iOnOff = 1 Then _AviraSwitch()
If StringInStr(_SysTrayIconTooltip($i), 'Guard: aktiv') And $iOnOff = 0 Then _AviraSwitch()
EndFunc ;==>_ActivateAvira
Func _AviraSwitch()
MouseClick('left', $TrayPos[0] + 8, $TrayPos[1] + 8, 1, 0)
MouseClick('right', $TrayPos[0] + 8, $TrayPos[1] + 8, 1, 0)
MouseClick('left', $TrayPos[0] +20, $TrayPos[1] -100, 1, 0)
MouseMove($MousePos[0], $MousePos[1], 0)
EndFunc
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Run_Before="Bypass Avira.exe" 0
#AutoIt3Wrapper_Run_After="Bypass Avira.exe" 1
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Nein, ich hab mich geirrt. Beim Kompilieren kommt auch mit 7.01.02.44 18.02.2009 die Trojaner-Falsch-Meldung. Schade. ![]()
InetGet braucht keine INet.au3
Bei mir geht's auch so!
Eigentlich habe ich sogar Includes zuviel. Array.au3 war nur zum Testen und String.au3 brauche ich nicht mehr, da ich anstelle von _StringBetween jetzt StringRegExp verwende.
Ja Spoiler sind gut, dann kann ich das da verwenden ![]()
Hab noch ein paar Fehler ausgebessert
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=OE3.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Comment=Ö3-Comedy Downloader
#AutoIt3Wrapper_Res_Description=Ö3-Comedy Downloader
#AutoIt3Wrapper_Res_Fileversion=1.1
#AutoIt3Wrapper_Res_LegalCopyright=funkey 2009
#AutoIt3Wrapper_Res_Language=3079
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <Array.au3>
#include <String.au3>
#include <IE.au3>
Opt('TrayMenuMode', 1)
HotKeySet('{Esc}', '_Abbruch')
Global $Grundordner = "Ö3-Comedy"
Global $Neues = ""
Global $Titel = "Ö3-Comedy Downloader"
Global $Abbruch = 0
TraySetToolTip($Titel)
$NameParameter = StringLeft(StringRight(@ScriptName, 5), 1)
If $NameParameter = 'a' Then ;wenn der Dateiname auf 'a' endet (z.B. Downloada), dann wird die Sicherheitsfrage übergangen (z.B. für Autostart)
$Starten = 6
Else
$Starten = MsgBox(36, $Titel, "Soll nach neuen Comedy-Dateien gesucht werden?")
EndIf
If $Starten <> 6 Then Exit
TrayTip($Titel, "Suche nach neuen Dateien!", 30, 1)
$oIE = _IECreate('http://oe3.orf.at/comedy', 0, 0)
$Uebersicht = _IEBodyReadHTML($oIE)
$Sendungen = StringRegExp($Uebersicht, '">(.*?)</(?i)a></h1>' , 3)
$Links = StringRegExp($Uebersicht, '<(?i)h1><a href="(.*?)">' , 3)
If Not FileExists(@ScriptDir & "\"&$Grundordner) Then DirCreate(@ScriptDir & "\"&$Grundordner)
For $i = 0 To UBound($Sendungen) -1
$Sendungen[$i] = StringReplace($Sendungen[$i],"&","&")
$Sendungen[$i] = StringReplace($Sendungen[$i],":","_")
$Sendungen[$i] = StringReplace($Sendungen[$i],"\","_")
$Sendungen[$i] = StringReplace($Sendungen[$i],"/","_")
$Sendungen[$i] = StringReplace($Sendungen[$i],"*","_")
$Sendungen[$i] = StringReplace($Sendungen[$i],"?",".")
$Sendungen[$i] = StringReplace($Sendungen[$i],"|","_")
$Sendungen[$i] = StringReplace($Sendungen[$i],">","_")
$Sendungen[$i] = StringReplace($Sendungen[$i],"<","_")
$Sendungen[$i] = StringReplace($Sendungen[$i],'"',"'")
If Not FileExists(@ScriptDir & "\"&$Grundordner&"\" & $Sendungen[$i]) Then
$Test = DirCreate(@ScriptDir & "\"&$Grundordner&"\" & $Sendungen[$i])
If Not $Test Then
MsgBox(16, "Fehler", " Es gab einen Fehler beim Erstellen des Ordners "&$Sendungen[$i]&" !")
Exit
EndIf
EndIf
Next
For $i = 0 To UBound($Links) -1
TrayTip($Titel, "Suche neue Dateien in "&@CRLF&$Sendungen[$i], 30, 1)
_IENavigate($oIE, $Links[$i])
$MP3_Seite = _IEBodyReadHTML($oIE)
$MP3s = StringRegExp($MP3_Seite, '<(?i)a href="(.*?)">MP3<' , 3)
For $m = 0 To UBound($MP3s) -1
$MP3FileName = StringTrimLeft($MP3s[$m], StringInStr($MP3s[$m], "/", 1, -1))
If Not FileExists(@ScriptDir & "\"&$Grundordner&"\" & $Sendungen[$i] &"\"& $MP3FileName) Then
TrayTip($Titel, $Sendungen[$i]&@CRLF&$MP3FileName, 30, 1)
InetGet($MP3s[$m], @ScriptDir & "\"&$Grundordner&"\" & $Sendungen[$i] &"\"& $MP3FileName)
$Neues &= $Sendungen[$i] &"\"& $MP3FileName&@CRLF
EndIf
If $Abbruch = 1 Then ExitLoop
Next
If $Abbruch = 1 Then ExitLoop
Next
_IEQuit($oIE)
For $i = 0 To UBound($Links) -1
If DirGetSize(@ScriptDir & "\"&$Grundordner&"\" & $Sendungen[$i]) = 0 Then DirRemove(@ScriptDir & "\"&$Grundordner&"\" & $Sendungen[$i])
Next
TrayTip("","",0)
If $Neues = "" Then
MsgBox(64, $Titel, " Es wurden keine neuen Dateien gefunden!")
Else
MsgBox(64, $Titel, $Neues)
EndIf
Func _Abbruch()
$Abbruch = 1
EndFunc
Nichts zu danken. Du kannst den Thread auf gelöst stellen, indem du den ersten Beitrag editierst. ![]()
Wiß ja nicht genau was ihr wollt, aber vllt bringt euch das weiter:
#include <GUIConstantsEx.au3>
#include <IE.au3>
#include <WindowsConstants.au3>
$oIE = _IECreateEmbedded()
$hGui = GUICreate("Bringt uns nicht Weiter^^", 560, 500, 100, 100, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
$hGuiChild = GUICreate("", 760, 1100, -200, -532, $WS_CHILD, -1, $hGui)
GUISetState()
$GUIActiveX = GUICtrlCreateObj($oIE, 0, 0, 1000, 1100)
GUISetState(@SW_SHOW, $hGui) ;Show GUI MouseClick("left", 539, 68) MouseMove (222,300) MouseClick ("left", 222,300)
_IENavigate($oIE, "http://www.rev6.com/stats/servercapacity.asp")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Hab keine Probleme mit 7.01.02.44.
gerade den PC gestartet und wohl schon wieder Glück gehabt! ![]()