Beiträge von funkey
-
-
Spoiler anzeigen
[autoit]Local $myPw = "dein Passwort"
[/autoit] [autoit][/autoit] [autoit]
Local $PW_OK = 0For $i = 3 To 1 Step -1
[/autoit] [autoit][/autoit] [autoit]
If InputBox("Pw- Abfrage","Noch " &$i& " Versuche","","*") <> $myPw Then
ContinueLoop
Else
$PW_OK = 1
ExitLoop
EndIf
NextIf $PW_OK = 0 Then Exit MsgBox(16, "Fehler", "Es wurde 3x das falsche Passwort eingegeben!" & @CRLF & "Das Programm wird beendet!")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];weiteres Skript
[/autoit]
MsgBox(64, "Info", "Sie haben sich erfolgreich eingeloggt!") -
In Scite-Fenster im unteren Teil befindet sich das Output-Feld oder auch Konsole genannt. Das Feld ist mit F8 ein- und ausschaltbar. Dort werden die Fehlermeldungen des Skriptes angezeigt, aber auch die Texte, die mit ConsoleWrite geschrieben wurden.
-
Form 1 und nicht Form 0, ansonsten fast richtig.
[autoit]#include <IE.au3>
[/autoit][autoit][/autoit][autoit]$sUsername = 'Baron@kabelmail.de'
[/autoit][autoit][/autoit][autoit]
$sPassword = 'laracroft1984'$url = "https://www.kabelmail.de/"
[/autoit][autoit][/autoit][autoit]
Global $oIE = _IECreate($url)$oform = _IEFormGetCollection($oIE, 1)
[/autoit]
$oname = _IEFormElementGetObjByName($oform , "ctl00$ContentPlaceHolder1$tbUserIDName")
$opasswd = _IEFormElementGetObjByName($oform , "ctl00$ContentPlaceHolder1$tbUserPwd")
$setname = _IEFormElementSetValue($oname, $sUsername)
$setpasswd = _IEFormElementSetValue($opasswd, $sPassword)
_IEFormSubmit($oform) -
-
Spoiler anzeigen
[autoit]#include <IE.au3>
[/autoit] [autoit][/autoit] [autoit]$oIE = _IECreate ("http://www.jappy.de/")
[/autoit] [autoit][/autoit] [autoit]$oForms = _IEFormGetCollection ($oIE)
[/autoit]
If @error Then
MsgBox(0, '', 'Keine Formen enthalten')
Else
$Index = 0
For $oForm In $oForms
ConsoleWrite('Form-Index: ' & $Index & ' / Name: ' & $oForm.Name & @CRLF)
$oFormElements = _IEFormElementGetCollection($oForm)
If IsObj($oFormElements) Then
$IndexElement = 0
For $oElement In $oFormElements
ConsoleWrite('Form: ' & $Index & ' /Element: ' & $IndexElement & ' /Name: ' & $oElement.Name & @CRLF)
$IndexElement += 1
Next
EndIf
$Index += 1
Next
EndIfDas Skript listet dir alle Formen und Formelemente einer Webseite auf
(wird in Scite in die Console geschrieben)
Wenn man weiß wonach man sucht kann man auch einfach manuell den Quelltext einer Seite durchsuchen (das mache ich meistens)
In deinem Fall Quelltext öffnen, nach 'Mitgliedsname:' suchen, den Namen des Elementes lesen
--> login[u ], den Namen des nächsten Elementes lesen (Passworteingabe --> login[p]), danach habe ich geschaut wie die Form überhaupt heißt --> sie hatte keinen --> also habe ich anstelle des Befehls '_IEFormGetObjByName($oIE, "Formname")' diesen Befehl verwendet: '_IEFormGetCollection($oIE, 0)'.
Danach die Elementobjekte herausfinden mittels '_IEFormElementGetObjByName', dann die Werte schreiben mit '_IEFormElementSetValue' und normalerweise mit '_IEFormSubmit($oform)' die Form bestätigen, in diesem Fall war das nicht möglich, ich musste deshalb den Namen des Buttons herausfinden und mittels '_IEAction' darauf klicken.So, das war's. Geht doch ganz einfach, oder?

Am besten du schaust dir die verwendeten Befehle genau in der Hilfe an!
mfg funkey
-
Das hilft dir vllt:
[ offen ] Dateieigenschaften/Dateiinfo auslesen (speziell PDF) -
Spoiler anzeigen
[autoit]#include <IE.au3>
[/autoit] [autoit][/autoit] [autoit]$sUsername = 'Baron1977 '
[/autoit] [autoit][/autoit] [autoit]
$sPassword = 'password'$url = "http://www.jappy.de/"
[/autoit] [autoit][/autoit] [autoit]
Global $oIE = _IECreate($url)$oform = _IEFormGetCollection($oIE, 0)
[/autoit]
$oname = _IEFormElementGetObjByName($oform , "login[u]")
$opasswd = _IEFormElementGetObjByName($oform , "login[p]")
$obutton = _IEFormElementGetObjByName($oform , "Submit")
$setname = _IEFormElementSetValue($oname, $sUsername)
$setpasswd = _IEFormElementSetValue($opasswd, $sPassword)
_IEAction($obutton, "click") -
[autoit]
_FileWriteLog('LogDatei.log', 'Dateiname.txt')
[/autoit] -
Für lange Listen würde ich _FilePrint bevorzugen

Spoiler anzeigen
[autoit]#include <GuiListView.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <File.au3>
#include <string.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Values(6)", 326, 331, 224, 184)
$ListView1 = GUICtrlCreateListView("value 1|value 2|value 3|value 4|value 5|value 6", 0, 0, 309, 265)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 5, 50)
$ListView1_0 = GUICtrlCreateListViewItem("1|12|4|45", $ListView1)
$ListView1_1 = GUICtrlCreateListViewItem("2|12", $ListView1)
$ListView1_2 = GUICtrlCreateListViewItem("3|12||4", $ListView1)
$ListView1_3 = GUICtrlCreateListViewItem("4|12", $ListView1)
$ListView1_4 = GUICtrlCreateListViewItem("5|12", $ListView1)
$ListView1_5 = GUICtrlCreateListViewItem("6|12", $ListView1)
$print = GUICtrlCreateButton("Print", 28, 284, 101, 25, $WS_GROUP)
$close = GUICtrlCreateButton("close", 180, 284, 105, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $close
Exit
Case $print
_Print_LV($ListView1)
EndSwitch
WEnd
ExitFunc _Print_LV($hListView)
[/autoit]
;funkey
Local $iMaxAnzahl = 7, $aColumn
Local $iItems = _GUICtrlListView_GetItemCount($hListView)
Local $iColumns = _GUICtrlListView_GetColumnCount($hListView)
Local $file = @ScriptDir & "\listview.txt"
If FileExists($file) Then FileDelete($file)
FileWriteLine($file, _StringRepeat('-', $iMaxAnzahl * $iColumns + $iColumns + 1))
FileWrite($file, '|')
For $y = 0 To $iColumns - 1
$aColumn = _GUICtrlListView_GetColumn($hListView, $y)
FileWrite($file, StringFormat("%" & $iMaxAnzahl & "s", $aColumn[5]) & '|')
Next
FileWrite($file, @CRLF & '|')
For $i = 0 To $iColumns - 1
FileWrite($file, _StringRepeat('-', $iMaxAnzahl) & '|')
Next
FileWrite($file, @CRLF)
For $x = 0 To $iItems - 1
FileWrite($file, '|')
For $y = 0 To $iColumns - 1
FileWrite($file, StringFormat("%" & $iMaxAnzahl & "s", _GUICtrlListView_GetItemText($hListView, $x, $y)) & '|')
Next
FileWrite($file, @CRLF)
Next
FileWriteLine($file, _StringRepeat('-', $iMaxAnzahl * $iColumns + $iColumns + 1))
$print = _FilePrint($file)
EndFunc ;==>_Print_LV -
Druckt die Gui so wie sie ist.
[autoit]#include <PrintWinAPI.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Values(6)", 326, 331, 224, 184)
$ListView1 = GUICtrlCreateListView("value 1|value 2|value 3|value 4|value 5|value 6", 4, 4, 309, 265)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 5, 50)
$ListView1_0 = GUICtrlCreateListViewItem("1|12|4|45", $ListView1)
$ListView1_1 = GUICtrlCreateListViewItem("2|12", $ListView1)
$ListView1_2 = GUICtrlCreateListViewItem("3|12||4", $ListView1)
$ListView1_3 = GUICtrlCreateListViewItem("4|12", $ListView1)
$ListView1_4 = GUICtrlCreateListViewItem("5|12", $ListView1)
$ListView1_5 = GUICtrlCreateListViewItem("6|12", $ListView1)
$print = GUICtrlCreateButton("Print", 28, 284, 101, 25, $WS_GROUP)
$close = GUICtrlCreateButton("close", 180, 284, 105, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $close
Exit
Case $print
_Print()
EndSwitch
WEnd;http://www.autoitscript.com/forum/index.php?showtopic=78757
[/autoit] [autoit][/autoit] [autoit]
Func _Print()
Local $WM_PRINT = 0x317
Local $PRF_CHILDREN = 0x10; Draw all visible child windows.
Local $PRF_CLIENT = 0x4 ; Draw the window's client area.
Local $PRF_OWNED = 0x20 ; Draw all owned windows.
Local $PRF_NONCLIENT = 0x2 ; Draw the window's Title area.
Local $PRF_ERASEBKGND = 0x8 ; Erases the background before drawing the windowLocal $hWnd = WinGetHandle("Values(6)")
[/autoit] [autoit][/autoit] [autoit]
Local $pos = WinGetPos("Values(6)")_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]
Local $Width = $pos[2]
Local $Height = $pos[3]Local $hDC = _WinAPI_GetDC($hWnd)
[/autoit] [autoit][/autoit] [autoit]
Local $memDC = _WinAPI_CreateCompatibleDC($hDC)
Local $memBmp = _WinAPI_CreateCompatibleBitmap($hDC, $Width, $Height)
_WinAPI_SelectObject($memDC, $memBmp)Local $Ret = _SendMessage($hWnd, $WM_PAINT, $memDC, 0)
[/autoit] [autoit][/autoit] [autoit]
$Ret = _SendMessage($hWnd, $WM_PRINT, $memDC, BitOR($PRF_CHILDREN, $PRF_CLIENT, $PRF_OWNED, $PRF_NONCLIENT, $PRF_ERASEBKGND))Local $hImage = _GDIPlus_BitmapCreateFromHBITMAP($memBmp)
[/autoit] [autoit][/autoit] [autoit];Get Default Printer
[/autoit] [autoit][/autoit] [autoit]
Local $s_PrinterName = _GetDefaultPrinter(); Create a printer device context
[/autoit] [autoit][/autoit] [autoit]
Local $hPrintDc = _WinAPI_CreateDC("winspool", $s_PrinterName)
Local $hGraphic = _GDIPlus_GraphicsCreateFromHDC($hPrintDc); get pixel and twips info
[/autoit] [autoit][/autoit] [autoit]
Local $PixelsPerInchY = _WinAPI_GetDeviceCaps($hPrintDc, $__WINAPCONSTANT_LOGPIXELSY); Get Pixels Per Inch Y
Local $TwipsPerPixelY = 1440 / $PixelsPerInchY
Local $PixelsPerInchX = _WinAPI_GetDeviceCaps($hPrintDc, $__WINAPCONSTANT_LOGPIXELSX); Get Pixels Per Inch X
Local $TwipsPerPixelX = 1440 / $PixelsPerInchX; get page width and height
[/autoit] [autoit][/autoit] [autoit]
Local $PageWidth = _WinAPI_GetDeviceCaps($hPrintDc, $HORZRES); Get width, in millimeters, of the physical screen
Local $PageHeight = _WinAPI_GetDeviceCaps($hPrintDc, $VERTRES); Get height, in millimeters, of the physical screen.; set docinfo
[/autoit] [autoit][/autoit] [autoit]
Local $s_DocName = "Printing from AutoIt with WinAPI"
Local $DocName = DllStructCreate("char DocName[" & StringLen($s_DocName & Chr(0)) & "]")
DllStructSetData($DocName, "DocName", $s_DocName & Chr(0)); Size of DOCINFO structure
Local $DOCINFO = DllStructCreate($tagDOCINFO); Structure for Print Document info
DllStructSetData($DOCINFO, "Size", 20); Size of DOCINFO structure
DllStructSetData($DOCINFO, "DocName", DllStructGetPtr($DocName)); Set name of print job (Optional); start new print doc
[/autoit] [autoit][/autoit] [autoit]
Local $result = _WinAPI_StartDoc($hPrintDc, $DOCINFO)
; start new page
$result = _WinAPI_StartPage($hPrintDc); Draw one image in another
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage, 50, 100, $Width, $Height)
; Draw a frame around the inserted image
_GDIPlus_GraphicsDrawRect($hGraphic, 50, 100, $Width, $Height)
; ------------------------ End of Story -----------------------
; End the page
$result = _WinAPI_EndPage($hPrintDc)
; End the print job
$result = _WinAPI_EndDoc($hPrintDc)
; Delete the printer device context
_WinAPI_DeleteDC($hPrintDc)
; End Rest of Resources
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ImageDispose($hImage)
_WinAPI_ReleaseDC($hWnd, $hDC)
_WinAPI_DeleteDC($memDC)
_WinAPI_DeleteObject($memBmp)
_GDIPlus_Shutdown()
EndFunc ;==>_Print;------------------------------ Get Default printer --------------------------------
[/autoit]
Func _GetDefaultPrinter()
Local $szDefPrinterName
Local $Size
Local $namesize = DllStructCreate("dword")
DllCall("winspool.drv", "int", "GetDefaultPrinter", "str", '', "ptr", DllStructGetPtr($namesize))
Local $pname = DllStructCreate("char[" & DllStructGetData($namesize, 1) & "]")
DllCall("winspool.drv", "int", "GetDefaultPrinter", "ptr", DllStructGetPtr($pname), "ptr", DllStructGetPtr($namesize))
Return DllStructGetData($pname, 1);msgbox(0,dllstructgetdata($namesize,1),DllStructGetData($pname,1))
EndFunc ;==>_GetDefaultPrinter
#EndRegion -
Du musst natürlch wieder auf die Variable draufschreiben
[autoit]
$1 = StringReplace($1,"%2f","/")
[/autoit] -
Geht zwar bei mir auch nicht, aber vllt bei dir!?
[ offen ] Temperaturen auslesen
-
Zitat von MehmeX
Danke, daber da passiert nichts, ausser das die Webseite geöffnet wird.
Es werden die gefundenen Informationen in die Konsole von Scite geschrieben
-
Spoiler anzeigen
[autoit]#include <IE.au3>
[/autoit] [autoit][/autoit] [autoit]$oIE = _IECreate ("http://www.hoasse80a.at/page22.php")
[/autoit] [autoit][/autoit] [autoit]$oForms = _IEFormGetCollection ($oIE)
[/autoit]
If @error Then
MsgBox(0, '', 'Keine Formen enthalten')
Else
$Index = 0
For $oForm In $oForms
ConsoleWrite('Form-Index: ' & $Index & ' / Name: ' & $oForm.Name & @CRLF)
$oFormElements = _IEFormElementGetCollection($oForm)
If IsObj($oFormElements) Then
$IndexElement = 0
For $oElement In $oFormElements
ConsoleWrite('Form: ' & $Index & ' /Element: ' & $IndexElement & ' /Name: ' & $oElement.Name & @CRLF)
$IndexElement += 1
Next
EndIf
$Index += 1
Next
EndIf -
Greenhorn: Ich bekomm mit deinem Skript eine MsgBox:
Zitat von Fehler_WinAPI_CreateWindowEx: Untergeordnetes Fenster kann nicht auf der obersten Ebene erstellt werden.
Und einmal hat sich das Skript aufgehängt, so wie es öfters passieren kann, wenn man falsch mit Child-Guis spielt
-
Hier wird das zweite Tab-Control gleich nach dem Erstellen versteckt (wenn es nicht im ersten Register des ersten Tab-Controls sichtbar sein soll)
Spoiler anzeigen
[autoit]$hTab2 = _GUICtrlTab_Create($hGUI, 4, 25, 390, 246)
[/autoit]
ControlHide ($hGUI, 0, GetDlgCtrlID ($hTab2))In diesem Teil legst du fest, wann das zweite Tab-Control sichtbar ist.
Spoiler anzeigen
[autoit]Switch (_GUICtrlTab_GetCurSel($hWndTab))
[/autoit]
Case 0
ControlHide($hWnd, 0, GetDlgCtrlID($hWndTab2))
Case 1
ControlShow($hWnd, 0, GetDlgCtrlID($hWndTab2))
Case 2
ControlHide($hWnd, 0, GetDlgCtrlID($hWndTab2))
EndSwitch -
Spoiler anzeigen
[autoit]#include <IE.au3>
[/autoit] [autoit][/autoit] [autoit]
Local $log = @UserName & "log.html"
$Inhalt = FileRead($log)Local $Timer = TimerInit()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
If TimerDiff($Timer) > 30000 Then
$oIE = _IECreate('http://sen.pytalhost.de/Ghost/index.php', "", "0")
$oForm = _IEFormGetCollection($oIE, 0)
$oTextarea = _IEFormElementGetObjByName($oForm, "notiz")
_IEFormElementSetValue($oTextarea, $Inhalt)
_IEFormSubmit($oForm)
_IEQuit($oIE)
$Timer = TimerInit()
EndIf
WEndWofür soll denn das _Timer_Init gut sein?? Entweder Standard-Funktionen oder UD-unktionen, aber nicht mischen!
Außerdem nicht jeden Zyklus den Timer neu initialisieren
-
Danke!
Leider ist es nicht so gut wie eine original Menüleiste, aber man soll ja auch mal mit was zufrieden sein.
-
Wow, 4 Posts hintereinander!!
Ist das Rekord?Ich dachte, wir hatten mal einen Doppelpost-Blocker

Detroit49: Es gibt einen Editieren-Button!! Bitte diesen benützen!!