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

Beiträge von Greenhorn

  • web.de steuern

    • Greenhorn
    • 3. Juni 2008 um 20:30

    Ja, einfach ALT und den >acceskey< mit ControlSend() ans Fenster schicken ...


    Gruß

  • dateien öffnen

    • Greenhorn
    • 3. Juni 2008 um 20:24

    Hast Du das Programm bei dir installiert ?
    Falls ja, dann sieh doch mal in der Registry nach mit welchem Befehl der Doppelklick auf eine *.tur geöffnet wird ...

    HKEY_CLASSES_ROOT\.tur

    Dort findest Du einen Eintrag (Perceived Type) was für eine Dateityp es ist, z.B. CAD File oder so etwas.
    Dann suchst Du nach

    HKEY_CLASSES_ROOT\CAD File\shell\open

    und solltest dann den Befehl zum öffnen einer *.tur Datei finden. ;)


    Gruß

  • web.de steuern

    • Greenhorn
    • 3. Juni 2008 um 20:10

    Na dann eben so ... :D

    [autoit]

    ;
    #include <IE.au3>
    Opt("WinTitleMatchMode", 2)
    $title = "FreeMail von WEB.DE - Windows Internet Explorer"
    $hWndIE = WinGetHandle($title)
    MsgBox(266304, Default, 'Fensterhandle: ' & $hWndIE)
    WinActivate($hWndIE)
    Sleep(1000)
    $oIE = _IEAttach ($hWndIE, "HWND")
    ControlSend($hWndIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "!w")
    ;

    [/autoit]
    Code
    <td class="a"><input class="a" type="submit"
    name="rv_do_fwdmsg"
    value="Weiterleiten" accesskey="w" /></td>

    Gruß

  • dateien öffnen

    • Greenhorn
    • 3. Juni 2008 um 15:19

    Mit anderen Worten 'a.exe' ist dein Script ???

    Wenn ja, dann musst Du natürlich eine Parameterabfrage einbauen und diese dann handlen ... ;)


    Gruß

  • Stehe am Anfang und komm nicht weiter

    • Greenhorn
    • 3. Juni 2008 um 12:03

    Naja, Du könntest dir schon ein Template-Script fertig machen, dann brauchst Du es nur anpassen.

    Und die paar Zeilen wirst Du schon hinkriegen, habe auch so mit AutoIt angefangen ... ;)


    Gruß

  • dateien öffnen

    • Greenhorn
    • 3. Juni 2008 um 11:25

    Bevor Du die Registry anderer Leute hackst, probiere es doch einmal so:

    [autoit]

    $file = @MyDocumentsDir & '\xyz.tur'
    Run($Dir & '\a.exe "' & $file & '"')

    [/autoit]

    Wenn dein Script nur einmalig oder selten auf fremden Rechnern läuft, dann ist es nicht ratsam in die Registry zu schreiben.


    Gruß
    Greenhorn

  • Internetradio empfangen

    • Greenhorn
    • 3. Juni 2008 um 11:14
    Zitat von Dankeschön

    @Crazy-A: Wenn du auf die 1Liveseite gehst,bemerkst du,dass man mit einem Enter nichtmals Ansatzweise zum Ziel kommst !

    Außerdem sollte es am liebsten kein eigenes Skript sein,sondern ein Knopf in einem großes Skript.
    Und wenn man dann "öffentlich" den Internet Explorer öffnet und die Maus bewegt,trifft das mitncihten den Geschmack des Benutzers.
    Aber danke für den Versuch,geh doch mal auf die Website !

    Was für eine Antwort hast Du denn auf die Frage erwartet ???

    Zitat von Dankeschön

    Mit der Ie.au3,also dann in einem Pixel die Seite darstellen?


    Gruß
    Greenhorn

  • Stehe am Anfang und komm nicht weiter

    • Greenhorn
    • 3. Juni 2008 um 11:07

    Hi,

    im Grunde ist es schon genau richtig was Du machst ...
    Gegen deine Tippfaulheit habe ich leider keine Medizin, aber Du kannst dir hier ein paar Beispiele ansehen:
    http://www.windows-unattended.de/forum/index.php?s=1d68d7f57b632798c37da49c167be562&showforum=67
    http://www.autoit.de/index.php?page=Board&boardID=15

    Gruß
    Greenhorn

  • GUI: Hintergrundbild einfügen

    • Greenhorn
    • 3. Juni 2008 um 11:02

    Habe mal den Pfad korrigiert ...

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $frm = GUICreate("test", 800, 600)
    $n = GUICtrlCreatePic(@Systemdir & "\oobe\images\wpaback.jpg", 0, 0, 800, 600, $GUI_DISABLE)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    EndSwitch
    WEnd

    [/autoit]


    Gruß
    Greenhorn

  • web.de steuern

    • Greenhorn
    • 3. Juni 2008 um 10:40

    Hmm, habe die IE.au3 noch nie genutzt, aber laut Bsp. vllt so:

    [autoit]

    Opt("WinTitleMatchMode", 2)
    $title = "FreeMail von WEB.DE"
    WinActivate($title)
    Sleep(1000)
    $oIE = _IEAttach ($title, "WindowTitle")
    $oSubmit = _IEGetObjByName ($oIE, "rv_do_fwdmsg")
    _IEAction ($oSubmit, "click")
    _IELoadWait ($oIE)

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


    Gruß
    Greenhorn

  • Probleme mit WinWait und ProzessWait

    • Greenhorn
    • 30. Mai 2008 um 04:09

    Ich habe auch einen Dual Core und habe diesbezüglich keine Probleme.

    Haben die Prozesse/Fenstertitel den gleichen Namen (z.B. setup.exe) ?
    Kannst Du ein Beispiel posten ?
    So lässt sich nicht viel dazu sagen ...


    Gruß
    Greenhorn

  • Ordner files nach ordner auflisten

    • Greenhorn
    • 30. Mai 2008 um 03:28

    Meine kaputte Bandscheibe braucht 'ne kleine Pause, mein Bester.
    Bin in ca. 3o Min. zurück und wie gesagt, behalte die Prozessorlast im Auge ;)

    Gruß

  • Ordner files nach ordner auflisten

    • Greenhorn
    • 30. Mai 2008 um 03:22

    Es kommt doch eine Rückgabe, aber anscheinend enthält der Pfad keine Dateien nach denen Du suchst ...

    Sehe gerade Du benutzt anscheinend noch die alte AutoIt v3.2.10.0, magst nicht upgraden, oder ... ?


    Gruß

  • Ordner files nach ordner auflisten

    • Greenhorn
    • 30. Mai 2008 um 03:15

    #include <File.au3>

    _FileWriteFromArray($File, $a_Array)

    oder

    $file = FileOpen('C:\Text.txt', 2)
    For $i = 1 To $aTxtFiles[0]

    FileWriteLine($file, $aTxtFiles[$i]

    Next
    FileClose($file)

    EDIT:
    Nein, es hängt sich nicht auf sondern dauert dann halt seine Zeit ;)
    Und achte bitte auf die Prozessorlast ...

    Gruß

  • Ordner files nach ordner auflisten

    • Greenhorn
    • 30. Mai 2008 um 03:07

    Hierbei nicht ???

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    ; WINDOWS = test; system32 = teste ...
    $sPath = 'C:\WINDOWS\system32'

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

    $aTxtFiles = _GetFileList($sPath,'*.dll')

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

    _ArrayDisplay($aTxtFiles)
    Exit
    ;********************************************************************************
    ; AutoIt Version: 3.0
    ; Language: English
    ; Platform: Win9x/NT/XP
    ; Author: jos van der Zande
    ;
    ; Find files in directory and subdirectories and return it in an Array, all coded in Autoit3
    ;
    ; _GetFileList($DIR, $FILEMASK, 1) ; _GetFileList($DIR, $FILEMASK [, Flag]) Flag GetFile(Default) = 0 , GetDirOnly = 1
    ;********************************************************************************
    ;Recursive search for filemask
    ;********************************************************************************

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

    Func _GetFileList($T_DIR,$T_MASK,$DIR_ONLY=0)
    Dim $N_DIRNAMES[200000] ; max number of directories that can be scanned
    Local $N_DIRCOUNT = 0
    Local $N_FILE
    Local $N_SEARCH
    Local $N_TFILE
    Local $N_OFILE
    Local $T_FILENAMES
    Local $T_FILECOUNT
    Local $T_DIRCOUNT = 1
    Local $FILEMASK
    ; check Filemask \ for empty File-Array by GetDirOnly
    If $FILEMASK = "n" Then $FILEMASK = "*.no"
    ; remove the end \ If specified
    If StringRight($T_DIR,1) = "\" Then $T_DIR = StringTrimRight($T_DIR,1)
    $N_DIRNAMES[$T_DIRCOUNT] = $T_DIR
    ; Exit if base dir doesn't exists
    If Not FileExists($T_DIR) Then Return 0
    ; keep on looping until all directories are scanned
    While $T_DIRCOUNT > $N_DIRCOUNT
    $N_DIRCOUNT = $N_DIRCOUNT + 1
    ; find all subdirs in this directory and save them in a array
    $N_SEARCH = FileFindFirstFile($N_DIRNAMES[$N_DIRCOUNT] & "\*.*")
    While 1
    $N_FILE = FileFindNextFile($N_SEARCH)
    If @error Then ExitLoop
    ; skip these references
    If $N_FILE = "." Or $N_FILE = ".." Then ContinueLoop
    $N_TFILE = $N_DIRNAMES[$N_DIRCOUNT] & "\" & $N_FILE
    ; if Directory than add to the list of directories to be processed
    If StringInStr(FileGetAttrib( $N_TFILE ),"D") > 0 Then
    $T_DIRCOUNT = $T_DIRCOUNT + 1
    $N_DIRNAMES[$T_DIRCOUNT] = $N_TFILE
    EndIf
    Wend
    FileClose($N_SEARCH) ; find all Files that mtach the MASK
    $N_SEARCH = FileFindFirstFile($N_DIRNAMES[$N_DIRCOUNT] & "\" & $T_MASK )
    If $N_SEARCH = -1 Then ContinueLoop
    While 1
    $N_FILE = FileFindNextFile($N_SEARCH)
    If @error Then ExitLoop
    ; skip these references
    If $N_FILE = "." Or $N_FILE = ".." Then ContinueLoop
    $N_TFILE = $N_DIRNAMES[$N_DIRCOUNT] & "\" & $N_FILE
    ; if Directory than add to the list of directories to be processed
    If StringInStr(FileGetAttrib( $N_TFILE ),"D") = 0 Then
    $T_FILENAMES = $T_FILENAMES & $N_TFILE & @CR
    $T_FILECOUNT = $T_FILECOUNT + 1
    ;MsgBox(0,'filecount ' & $T_FILECOUNT ,$N_TFILE)
    EndIf
    Wend
    FileClose($N_SEARCH)
    Wend
    If $DIR_ONLY = 0 Then
    $T_FILENAMES = StringTrimRight($T_FILENAMES,1)
    $N_OFILE = StringSplit($T_FILENAMES,@CR)
    Return( $N_OFILE )
    Else
    ReDim $N_DIRNAMES[$N_DIRCOUNT+1]
    $N_DIRNAMES[0] = $N_DIRCOUNT
    Return $N_DIRNAMES
    EndIf
    EndFunc ;==>_GetFileList

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

    EDIT:
    Sorry, zuviel mitkopiert ..., vllt 'n büschen früh/spät für mich :D

  • Ordner files nach ordner auflisten

    • Greenhorn
    • 30. Mai 2008 um 03:02

    Du kannst die Funktion natürlich auch in dein Script kopieren soviel ist es ja nicht ;)

    Zum prüfen:
    #include <Array.au3>

    _ArrayDisplay($array)

    EDIT:
    Hast Du schon einen Prototypen für dein Script, dann poste es doch bitte mal ?!


    Gruß

  • Ordner files nach ordner auflisten

    • Greenhorn
    • 30. Mai 2008 um 02:42

    Dann ist es besser direkt mit FileFindFirstFile und FileFindNextFile zu arbeiten ..., irgendwo hatte ich da glaube ich 'ne UDF, mom ...

    [autoit]

    ; WINDOWS = test; system32 = teste ...
    $sPath = 'C:\WINDOWS\system32'

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

    $aTxtFiles = _GetFileList($sPath,'*.dll')

    [/autoit][autoit][/autoit][autoit][/autoit]
    Spoiler anzeigen
    [autoit]

    ;********************************************************************************
    ; AutoIt Version: 3.0
    ; Language: English
    ; Platform: Win9x/NT/XP
    ; Author: jos van der Zande
    ;
    ; Find files in directory and subdirectories and return it in an Array, all coded in Autoit3
    ;
    ; _GetFileList($DIR, $FILEMASK, 1) ; _GetFileList($DIR, $FILEMASK [, Flag]) Flag GetFile(Default) = 0 , GetDirOnly = 1
    ;********************************************************************************
    ;Recursive search for filemask
    ;********************************************************************************

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

    Func _GetFileList($T_DIR,$T_MASK,$DIR_ONLY=0)
    Dim $N_DIRNAMES[200000] ; max number of directories that can be scanned
    Local $N_DIRCOUNT = 0
    Local $N_FILE
    Local $N_SEARCH
    Local $N_TFILE
    Local $N_OFILE
    Local $T_FILENAMES
    Local $T_FILECOUNT
    Local $T_DIRCOUNT = 1
    Local $FILEMASK
    ; check Filemask \ for empty File-Array by GetDirOnly
    If $FILEMASK = "n" Then $FILEMASK = "*.no"
    ; remove the end \ If specified
    If StringRight($T_DIR,1) = "\" Then $T_DIR = StringTrimRight($T_DIR,1)
    $N_DIRNAMES[$T_DIRCOUNT] = $T_DIR
    ; Exit if base dir doesn't exists
    If Not FileExists($T_DIR) Then Return 0
    ; keep on looping until all directories are scanned
    While $T_DIRCOUNT > $N_DIRCOUNT
    $N_DIRCOUNT = $N_DIRCOUNT + 1
    ; find all subdirs in this directory and save them in a array
    $N_SEARCH = FileFindFirstFile($N_DIRNAMES[$N_DIRCOUNT] & "\*.*")
    While 1
    $N_FILE = FileFindNextFile($N_SEARCH)
    If @error Then ExitLoop
    ; skip these references
    If $N_FILE = "." Or $N_FILE = ".." Then ContinueLoop
    $N_TFILE = $N_DIRNAMES[$N_DIRCOUNT] & "\" & $N_FILE
    ; if Directory than add to the list of directories to be processed
    If StringInStr(FileGetAttrib( $N_TFILE ),"D") > 0 Then
    $T_DIRCOUNT = $T_DIRCOUNT + 1
    $N_DIRNAMES[$T_DIRCOUNT] = $N_TFILE
    EndIf
    Wend
    FileClose($N_SEARCH) ; find all Files that mtach the MASK
    $N_SEARCH = FileFindFirstFile($N_DIRNAMES[$N_DIRCOUNT] & "\" & $T_MASK )
    If $N_SEARCH = -1 Then ContinueLoop
    While 1
    $N_FILE = FileFindNextFile($N_SEARCH)
    If @error Then ExitLoop
    ; skip these references
    If $N_FILE = "." Or $N_FILE = ".." Then ContinueLoop
    $N_TFILE = $N_DIRNAMES[$N_DIRCOUNT] & "\" & $N_FILE
    ; if Directory than add to the list of directories to be processed
    If StringInStr(FileGetAttrib( $N_TFILE ),"D") = 0 Then
    $T_FILENAMES = $T_FILENAMES & $N_TFILE & @CR
    $T_FILECOUNT = $T_FILECOUNT + 1
    ;MsgBox(0,'filecount ' & $T_FILECOUNT ,$N_TFILE)
    EndIf
    Wend
    FileClose($N_SEARCH)
    Wend
    If $DIR_ONLY = 0 Then
    $T_FILENAMES = StringTrimRight($T_FILENAMES,1)
    $N_OFILE = StringSplit($T_FILENAMES,@CR)
    Return( $N_OFILE )
    Else
    ReDim $N_DIRNAMES[$N_DIRCOUNT+1]
    $N_DIRNAMES[0] = $N_DIRCOUNT
    Return $N_DIRNAMES
    EndIf
    EndFunc ;==>_GetFileList

    [/autoit]


    Gruß

  • Ordner files nach ordner auflisten

    • Greenhorn
    • 30. Mai 2008 um 02:29

    In den UDFs unter File Management ... ;)

    [autoit]

    #include <File.au3>

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

    ; WINDOWS = test; system32 = teste ...
    $sPath = 'C:\WINDOWS\system32'

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

    $aFiles = _FileListToArray($sPath, '*.txt', 1) ; 1 = nur Dateien
    ; rest code ...

    [/autoit]


    Gruß

  • Ordner files nach ordner auflisten

    • Greenhorn
    • 30. Mai 2008 um 02:23

    Wechseln die Namen der Ordner 'test' und 'teste' oder sind die Ordnernamen konstant ... ?

    Hast Du dir schon _FileListToArray angesehen ?


    Gruß
    Greenhorn

  • Controls von der Bildschirmtastatur ansprechen

    • Greenhorn
    • 30. Mai 2008 um 00:24
    Zitat von Mirage

    Ich soll für jemanden das Programm schreiben, ich weiß selbst nicht genau was er damit anfangen möchte.

    Soweit ich weiß sind aber die keystrokes die AutoIt benutzt unterschiedlich gegenüber der manuellen Eingabe und

    die Bildschirmtastatur soll diese wohl exakt simulieren (Soweit ich weiß soll AutoIt keybd_event benutzen welches

    wohl veraltert bzw nicht umfangreich genug ist.


    Umfangreich hin, veraltet her ..., wenn es funktioniert ist es doch schei*egal !?
    keybd_event wird aus kompatibilitätsgründen zu Win98 usw. benutzt.


    Gruß
    Greenhorn

    p.s. Wenn Du für andere Scripte schreibst, dann solltest Du dich lieber informieren wozu es dienen soll, falls es nicht aus dem Quellcode hervorgeht.

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™