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. misterspeed

Beiträge von misterspeed

  • Erkennung von Youtubeseite!

    • misterspeed
    • 18. August 2011 um 20:01

    Wie gesagt mit FF5 funktioniert es jedenfalls noch, obs mit FF6 und FF7 klappt kA :P

    Hier ein kleines Beispielscript um die URLs mitzulesen die man ansteuert:

    Spoiler anzeigen
    [autoit]


    #include <FFex.au3>
    #include <array.au3>

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

    Opt("TrayMenuMode",1)
    Opt("TrayOnEventMode",1)
    Global $showMyHistory = TrayCreateItem("URLs anzeigen")
    TrayItemSetOnEvent($showMyHistory,"showURLs")
    Global $byebye = TrayCreateItem("Beenden")
    TrayItemSetOnEvent($byebye,"_exit")
    Global $curUrl = ""
    Global $aURLs[1]=["0"]

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

    $ffProzess = Run(@ScriptDir & "\FirefoxPortable.exe", "", @SW_SHOW)
    Do
    _FFConnect()
    $OK = @error
    If @error Then _FFDisConnect()
    Until Not $OK

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

    _ffopenurl("youtube.com")
    _ffloadwait()

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

    While 1
    $newUrl = _FF_GetCurrentURL()
    if $newUrl <> $curUrl Then
    _ArrayAdd($aURLs,$newUrl)
    $curUrl = $newUrl
    EndIf
    Sleep(1000)
    WEnd

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

    Func showURLs()
    _ArrayDisplay($aUrls)
    EndFunc

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

    func _exit()
    _ffquit()
    Sleep(100)
    Exit
    EndFunc

    [/autoit]
  • Erkennung von Youtubeseite!

    • misterspeed
    • 18. August 2011 um 19:33
    Zitat von chip

    Mozrepl gibt es nicht für Firefox 5 bzw. Firefox 6 von daher funktioniert FF.au3 auch nichtmehr.

    Stimmt nicht. Zumindestens mit der Portable von FF5 hab ich das ganze erfolgreich getestet. Laut Downloadseite von mozrepl ist die aktuelle Beta (vom Januar wohl gemerkt) bis Version 7.* lauffähig:

    Zitat


    Works with:

    * Mobile 1.0 - 4.0b4
    * Firefox 3.0 - 7.*

    https://addons.mozilla.org/en-US/firefox/…ersion-1.1beta2


    Zu deinem Problem:

    Poste doch mal Beispielcode deiner Versuche. Hast du ein eingebettetes FF, startest du FF aus deinem Programm heraus, oder willst du auf bestehende FF Instanzen zugreifen? Welche FF Verison nutzt du? Mozrepl in der aktuellen Version vorhanden und bei FF Start auch aktiv?

  • GUICtrlCreateTab hinterher elemente in tabitem einfügen

    • misterspeed
    • 17. August 2011 um 21:04

    Es macht immer dann Probleme wenn deine GUI oder irgendein anderes Control unter diesem Variablennamen gespeichert wird und du später auf das Control zugreifen willst.
    Sobald du das erstemal das Ergebnis von guigetmsg darin speicherst hast du keinen Zugriff mehr auf das Control das zuvor darin gespeichert war.

    Im hiesigen Beispiel also dann wenn du guiswitch() benutzt. Hier brauchst du zwingend die Controlid der GUI, hast du die überschrieben kann guiswitch nicht funktionieren.

    Ums anders auszudrücken:
    Variablennamen darf man nicht für verschiedene Dinge verwenden, zumindestens dann nicht wenn du die gespeicherten Daten noch benötigst.

  • OCR - Brainstorming

    • misterspeed
    • 17. August 2011 um 20:57
    Zitat


    Folgende Inhalte sind absolut nicht erwünscht. Das Team behält es sich ausdrücklich vor, zur Durchsetzung der Regeln je nach Schweregrad Benutzer, Posts und Threads zu verwarnen, zu sperren oder sogar zu löschen.
    ...
    - Umgehen von Captchas

    https://autoit.de/index.php?page=Forumrules

  • batch starten beenden nach uhrzeit

    • misterspeed
    • 17. August 2011 um 15:16

    Nunja aber wozu brauchst du die Batch denn eigentlich? Du könntest den Aufruf dieser flv.exe und alles andere was du in der Batch vielleicht noch machst auch komplett in autoit realisieren.

  • vorhandene Dateien ermitteln

    • misterspeed
    • 17. August 2011 um 14:05
    [autoit]


    _filelisttoarray() ; siehe Hilfe...

    [/autoit]
  • batch starten beenden nach uhrzeit

    • misterspeed
    • 17. August 2011 um 14:02

    Stimmt da hat er was zu meinem Script dazugedichtet. ^^
    Zeile 4 muss natürlich in Zeile 13 stehen.

  • batch starten beenden nach uhrzeit

    • misterspeed
    • 17. August 2011 um 13:39

    Wenn sich das Script beendet wurde wohl auch der Prozess beendet, sofern er denn überhaupt noch existiert hat. Aber jenachdem was deine Batch macht kann es ja sein, dass die Prozesse die die Batch startet noch laufen.
    Wenn deine Batch Programm x startet hilft es dir nichts die batch zu beenden, das Programm x läuft dann trotzdem noch.

  • Mouseclick im richtigen Fenster - WindowInfo vs. WindowSpy

    • misterspeed
    • 17. August 2011 um 13:28

    Dann wird dir das da wohl nicht helfen, aber ich wollte mir die Richedits sowieso mal ansehen, vielleicht wäre eine eigene GUI mit Druckfunktion ja vielleicht doch eine Alternative für dich:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiRichEdit.au3>

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

    $GUI = GUICreate("Form1", 625, 445, 192, 124)
    $RichEdit = _GUICtrlRichEdit_Create($Gui, "This is a test.", 120, 104, 417, 225, BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
    _GUICtrlRichEdit_AutoDetectURL($RichEdit,True)
    _GUICtrlRichEdit_CanPaste($RichEdit)
    _GUICtrlRichEdit_CanRedo($RichEdit)
    _GUICtrlRichEdit_CanUndo($RichEdit)

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

    $ButtonK = GUICtrlCreateButton("Schrift kleiner", 100, 376, 75, 25, $WS_GROUP)
    $ButtonG = GUICtrlCreateButton("Schrift größer", 200, 376, 75, 25, $WS_GROUP)
    $ButtonU = GUICtrlCreateButton("U", 300, 376, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $ButtonK
    _GUICtrlRichEdit_ChangeFontSize($RichEdit, -1)
    case $ButtonG
    _GUICtrlRichEdit_ChangeFontSize($RichEdit, +1)
    case $ButtonU
    _GUICtrlRichEdit_SetCharAttributes($RichEdit, "+un" , True)
    EndSwitch
    WEnd

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

    EDIT: Na da hatten wir wohl den selben Gedanken, wobei dein Script wohl etwas umfangreicher und brauchbarer ist ^^

  • batch starten beenden nach uhrzeit

    • misterspeed
    • 17. August 2011 um 12:45

    Schau dir mein Script an, die Tatsache, dass es 5mal startet und nicht beendet wurde ist völlig richtig, das sollte bei shellexecute aber auch so passiert sein, denn genau das macht dein Script.
    Mit meiner Variante und am besten noch mit run sollte das nicht passieren. ;)

  • batch starten beenden nach uhrzeit

    • misterspeed
    • 17. August 2011 um 12:21

    Dein Script wird die Batch so wohl nie beenden, ausserdem wird die Batch mehrfach gestartet werden.

    Deine Beenden Bedingung befindet sich innerhalb der Starten Bedingung. Das bedeutet es kann nur beendet werden, wenn es zufälligerweise auch innerhalb dieser Sekunde gestartet wurde und die maximale Laufzeit 0.xxxx Sekunden beträgt. Sobald die Batch länger als eine Sekunde läuft erfüllst du die äussere Bedingung erst in 24h wieder und somit wird die innere Bedingung zum Beenden auch erst wieder in 24h geprüft. Bis dahin läuft dann aber mindestens ein 2. Prozess der Batch, eher 11 Prozesse, da du die erste Bedingung wohl bis zu 10 Schleifendurchläufe lang erfüllst.

    Du solltest das eher so machen:

    [autoit]


    $ZeitStart = InputBox("Uhrzeit", "Starten (HH:MM)", @HOUR & ":" & @MIN+1 & ':' & @SEC) ; Startzeit sollt in der Zukunft liegen, ansonsten könnte es 24h dauern, je nachdem wielange der user für die Eingaben braucht
    $ZeitStop = InputBox("Uhrzeit", "Beenden(HH:MM)", @HOUR & ":" & @MIN+2 & ':' & @SEC) ; +2 deshalb, damit niemand versehentlich einfach die Standardzeit bestätigt, das würde eine identische Start und Stop Zeit bedeuten
    ;$process = "CMD.exe"
    $processRuns=False ; es läuft noch kein Prozess

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

    While 1
    ; Sleep(100) ; brauchste nicht und könnte Probleme mit den Zeiten machen...

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

    If $ZeitStart = @HOUR & ":" & @MIN & ':' & @SEC And $processRuns=False Then ; nur wenn noch kein Prozess läuft und die Startbedingung erfüllt ist
    ShellExecute(@ScriptDir & "\test.bat") ; verwende run und speichere die PID in einer Variable
    $processRuns=True ; Prozess läuft
    ;MsgBox (64,"","Batch Gestartet!")
    ;ExitLoop
    endif

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

    If $ZeitStop = @HOUR & ":" & @MIN & ':' & @SEC And $processRuns=True Then ; nur wenn Stoppzeit erfüllt und ein Prozess läuft
    ;ProcessClose (@ScriptDir & "\test.bat")
    ProcessClose("CMD.exe") ; wie bereits erwähnt wurde solltest du run verwenden und die zurückgegeben PID zum beenden verwenden, da eindeutiger...
    $processRuns=False ; Prozess läuft nicht mehr
    ExitLoop
    EndIf
    WEnd

    [/autoit]
  • Login funktioniert einfach nicht....

    • misterspeed
    • 17. August 2011 um 02:07

    Ist definitiv was an deiner php oder auch db config falsch. Die echo's bedeuten, dass Text im Browser sichtbar sein muss, das passiert bei dir aber aus welchen Gründen auch immer nicht. Sprich deine PHP gibt einfach nichts zurück, somit kann dein autoit script auch nichts weiterverarbeiten.

  • Login funktioniert einfach nicht....

    • misterspeed
    • 17. August 2011 um 01:16

    Naja vielleicht haste Tabellenname und Datenbankname nicht angepasst? Und bitte editier doch mal dein 1. Posting und korrigier diese Quellcode Formatierung (benutz einen anderen Browser zum posten...)

  • Login funktioniert einfach nicht....

    • misterspeed
    • 17. August 2011 um 01:09

    Schau dir die Hilfe zu inetgetsource an. Die Funktion liefert immer einen String des Seitenquelltextes zurück, ausser im Fehlerfall, also Seite existiert nicht, dann kommt eine 0 zurück.
    Dein Fehler liegt meiner Meinung nach in deiner PHP, aber da hab ich keinen Schimmer davon.

  • run geht nicht

    • misterspeed
    • 17. August 2011 um 01:01

    Eine andere Lösung wäre diese hier, sofern es wirklich an Leerzeichen lag:

    [autoit]


    Run('"' & @ScriptDir & '\System\Startup\bin\wina_startup.exe"')

    [/autoit]
  • Login funktioniert einfach nicht....

    • misterspeed
    • 17. August 2011 um 00:50

    Ähm so wie ich dich verstanden und auch dein autoit script verstanden habe prüft deine php die login daten und gibt dann auch ein Feedback zurück ob gültig oder nicht.
    Da du in deinem Autoit Script den Quellcode den die PHP zurückgibt auswertest (inetgetsource...) muss im Quellcode ja wohl auch das Ergebnis stehen. Das ist aber nicht der Fall, da ist lediglich der funpic javascript müll drin.

  • Login funktioniert einfach nicht....

    • misterspeed
    • 17. August 2011 um 00:40

    Also nun gibts zwar die login.php, aber ich erhalte immer eine leere Seite im Browser, ob nun gültige Daten oder auch nicht...

  • Login funktioniert einfach nicht....

    • misterspeed
    • 17. August 2011 um 00:30

    Auf deinem Webspace gibts scheinbar keine login.php sondern nur eine test.php, ausser ich bin blind oder sie wird nicht gelistet...

  • Status der Netzwerkverbindung abfragen.

    • misterspeed
    • 17. August 2011 um 00:06

    Hab da was im englischen Forum gefunden und etwas abgeändert...

    Spoiler anzeigen
    [autoit]


    #include <array.au3>

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

    Dim $aNetworkInfo
    $cI_CompName = @ComputerName
    Global $wbemFlagReturnImmediately = 0x10, _
    $wbemFlagForwardOnly = 0x20

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

    _ComputerGetNetworkCards($aNetworkInfo)
    _ArrayDisplay($aNetworkInfo)
    ; Spalte 20 zeigt den Status des jeweiligen Adapters. Details zu den status codes findest du hier:
    ; http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx

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

    $aSearch = _ArrayFindAll($aNetworkInfo,2,0,0,1,0,20)
    For $i=0 to UBound($aSearch)-1
    ConsoleWrite("Verbundener Adapter gefunden: " & $aNetworkInfo[$aSearch[$i]][0] & @CRLF)
    Next

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

    $aSearch = _ArrayFindAll($aNetworkInfo,7,0,0,1,0,20)
    For $i=0 to UBound($aSearch)-1
    ConsoleWrite("Adapter ohne LAN Kabel gefunden: " & $aNetworkInfo[$aSearch[$i]][0] & @CRLF)
    Next

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

    ;===============================================================================
    ; Description: Returns the Network information in an array.
    ; Author: Jarvis J. Stubblefield (JSThePatriot) https://autoit.de/&quot;http://w…ions.com/&quot;
    ; Parameter(s): $aNetworkInfo - By Reference - Network Information array.
    ; Requirement(s): None
    ; Return Value(s): On Success - Returns array of Network Information.
    ; $aNetworkInfo[0][0] = Number of Network Cards
    ; $aNetworkInfo[$i][0] = Name ($i starts at 1)
    ; $aNetworkInfo[$i][1] = Adapter Type
    ; $aNetworkInfo[$i][2] = Adapter Type ID
    ; $aNetworkInfo[$i][3] = Auto Sense
    ; $aNetworkInfo[$i][4] = Description
    ; $aNetworkInfo[$i][5] = Availability
    ; $aNetworkInfo[$i][6] = Config Manager Error Code
    ; $aNetworkInfo[$i][7] = Config Manager User Config
    ; $aNetworkInfo[$i][8] = Creation Class Name
    ; $aNetworkInfo[$i][9] = Device ID
    ; $aNetworkInfo[$i][10] = Error Cleared
    ; $aNetworkInfo[$i][11] = Error Description
    ; $aNetworkInfo[$i][12] = Index
    ; $aNetworkInfo[$i][13] = Installed
    ; $aNetworkInfo[$i][14] = Last Error Code
    ; $aNetworkInfo[$i][15] = MAC Address
    ; $aNetworkInfo[$i][16] = Manufacturer
    ; $aNetworkInfo[$i][17] = Max Number Controlled
    ; $aNetworkInfo[$i][18] = Max Speed
    ; $aNetworkInfo[$i][19] = Net Connection ID
    ; $aNetworkInfo[$i][20] = Net Connection Status
    ; $aNetworkInfo[$i][21] = Network Addresses
    ; $aNetworkInfo[$i][22] = Permanent Address
    ; $aNetworkInfo[$i][23] = PNP Device ID
    ; $aNetworkInfo[$i][24] = Power Management Capabilities
    ; $aNetworkInfo[$i][25] = Power Management Supported
    ; $aNetworkInfo[$i][26] = Product Name
    ; $aNetworkInfo[$i][27] = Service Name
    ; $aNetworkInfo[$i][28] = Speed
    ; $aNetworkInfo[$i][29] = Status
    ; $aNetworkInfo[$i][30] = Status Info
    ; $aNetworkInfo[$i][31] = System Creation Class Name
    ; $aNetworkInfo[$i][32] = System Name
    ; $aNetworkInfo[$i][33] = Time Of Last Reset
    ; On Failure - @error = 1 and Returns 0
    ; @extended = 1 - Array contains no information
    ; 2 - $colItems isnt an object
    ; Author(s): Jarvis Stubblefield (support "at" vortexrevolutions "dot" com)
    ; Note(s):
    ;===============================================================================
    Func _ComputerGetNetworkCards(ByRef $aNetworkInfo)
    Local $colItems, $objWMIService, $objItem
    Dim $aNetworkInfo[1][34], $i = 1

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

    $objWMIService = ObjGet("winmgmts:\\" & $cI_Compname & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

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

    If IsObj($colItems) Then
    For $objItem In $colItems
    ReDim $aNetworkInfo[UBound($aNetworkInfo) + 1][34]
    $aNetworkInfo[$i][0] = $objItem.Name
    $aNetworkInfo[$i][1] = $objItem.AdapterType
    $aNetworkInfo[$i][2] = $objItem.AdapterTypeId
    $aNetworkInfo[$i][3] = $objItem.AutoSense
    $aNetworkInfo[$i][4] = $objItem.Description
    $aNetworkInfo[$i][5] = $objItem.Availability
    $aNetworkInfo[$i][6] = $objItem.ConfigManagerErrorCode
    $aNetworkInfo[$i][7] = $objItem.ConfigManagerUserConfig
    $aNetworkInfo[$i][8] = $objItem.CreationClassName
    $aNetworkInfo[$i][9] = $objItem.DeviceID
    $aNetworkInfo[$i][10] = $objItem.ErrorCleared
    $aNetworkInfo[$i][11] = $objItem.ErrorDescription
    $aNetworkInfo[$i][12] = $objItem.Index
    $aNetworkInfo[$i][13] = $objItem.Installed
    $aNetworkInfo[$i][14] = $objItem.LastErrorCode
    $aNetworkInfo[$i][15] = $objItem.MACAddress
    $aNetworkInfo[$i][16] = $objItem.Manufacturer
    $aNetworkInfo[$i][17] = $objItem.MaxNumberControlled
    $aNetworkInfo[$i][18] = $objItem.MaxSpeed
    $aNetworkInfo[$i][19] = $objItem.NetConnectionID
    $aNetworkInfo[$i][20] = $objItem.NetConnectionStatus
    $aNetworkInfo[$i][21] = $objItem.NetworkAddresses(0)
    $aNetworkInfo[$i][22] = $objItem.PermanentAddress
    $aNetworkInfo[$i][23] = $objItem.PNPDeviceID
    $aNetworkInfo[$i][24] = $objItem.PowerManagementCapabilities(0)
    $aNetworkInfo[$i][25] = $objItem.PowerManagementSupported
    $aNetworkInfo[$i][26] = $objItem.ProductName
    $aNetworkInfo[$i][27] = $objItem.ServiceName
    $aNetworkInfo[$i][28] = $objItem.Speed
    $aNetworkInfo[$i][29] = $objItem.Status
    $aNetworkInfo[$i][30] = $objItem.StatusInfo
    $aNetworkInfo[$i][31] = $objItem.SystemCreationClassName
    $aNetworkInfo[$i][32] = $objItem.SystemName
    $aNetworkInfo[$i][33] = __StringToDate($objItem.TimeOfLastReset)
    $i += 1
    Next
    $aNetworkInfo[0][0] = UBound($aNetworkInfo) - 1
    If $aNetworkInfo[0][0] < 1 Then
    SetError(1, 1, 0)
    EndIf
    Else
    SetError(1, 2, 0)
    EndIf
    EndFunc ;_ComputerGetNetworkCards

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

    Func __StringToDate($dtmDate)
    Return (StringMid($dtmDate, 5, 2) & "/" & _
    StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
    & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2))
    EndFunc ;__StringToDate Function created by SvenP Modified by JSThePatriot

    [/autoit]
  • Chat - Server

    • misterspeed
    • 16. August 2011 um 20:03
    Zitat von Nachid

    Versuch da mal was hinzuschicken, trotzdem müsste doch Case Else
    die Nachricht an alle wieder zurückverteilen oder ?

    EDIT: ups verlesen

    EDIT2:

    Ja eigentlich müsste was gesendet werden wenn ich das recht sehe. Jedoch sehe ich in deinem Client kein tcprecv().
    Das bedeutet der Server kann schicken was er will wenn dein Client überhaupt nicht auf eine Antwort wartet.

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™