script in einem minimierten programm laufen lassen?

  • Hallo wie kann man ein script in einem minimierten programm laufen lassen?
    ist das in irgend einer Form umsetzbar?
    Das heisst ich habe ein programm das mir ständig eine gewisse zahl erstellt und ich kann während es in das minimierte notepad.exe schreibt etwas anderes am pc machen. "nur ein beispiel"

  • Mal als Einstiegsbeispiel:

    [autoit]

    ShellExecute("notepad.exe","",@TempDir,"",@SW_MINIMIZE)
    HotKeySet("{esc}","_exit")

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

    While 1
    $zahl = Random(1,100000,1)
    ControlSend("Unbenannt","","",$zahl & @CR)
    Sleep(1000)
    WEnd

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

    Func _exit()
    Exit
    EndFunc

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • hm wohl war :( da war ich wieder mal zu voreilig :)

    so ist nen bissel besser glaub ich :)

    Spoiler anzeigen
    [autoit]


    ;~ Controllsend
    ShellExecute("notepad.exe","",@TempDir,"",@SW_MINIMIZE)
    HotKeySet("{esc}","_exit")

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

    While 1
    $zahl = Random(1,100000,1)
    $str = ControlGetText ( "Unbenannt","","Edit1" )
    $str &= $zahl & @TAB
    ConsoleWrite(ControlSetText("Unbenannt","","Edit1",$str,1) & @LF)
    Sleep(1000)
    WEnd

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

    Func _exit()
    Exit
    EndFunc

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

    Einmal editiert, zuletzt von McPoldy (8. Juli 2008 um 13:57)

  • uff ^^ ich seh nur noch varrible läuft jetzt ganz gut aber wenn man maximiert sehe ich das geschriebene nicht mehr ist das absicht?

  • Spoiler anzeigen
    [autoit]


    ;~ Controllsend
    ShellExecute("notepad.exe","",@TempDir,"",@SW_MINIMIZE)
    HotKeySet("{esc}","_exit")

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

    While 1
    $zahl = send("1,100000,1"); von mir geändert
    $str = ControlGetText ( "Unbenannt","","Edit1" )
    $str &= $zahl & @TAB
    ConsoleWrite(ControlSetText("Unbenannt","","Edit1",$str,1) & @LF)
    Sleep(1000)
    WEnd

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

    Func _exit()
    Exit
    EndFunc

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


    Warum läuft das script nicht mehr im minimierten notepad wenn ich anstatt Random Send einsetze?

    Einmal editiert, zuletzt von XNeoX (8. Juli 2008 um 15:09)

  • Hi,

    ich habe mal versucht es etwas zu erklären, in dem Beispiel wird jetzt nur einmal ein Text an Notepad gesendet:

    Spoiler anzeigen
    [autoit]

    ;Öffnen von Notepad
    ;Parameter 1: Programmname oder kompletter Pfad [notepad.exe]
    ;Parameter 2: Hier können noch Prameter für das Programm übergebenwerden []
    ;Parameter 3: Das Arbeitsverzeichnis, sowas wie "Ausführen in" [@TempDir]
    ;Parameter 4: Wie soll das Programm angezeigt werden, z. B. @SW_MAXIMIZE für ein maximiertes Fenster oder
    ; so wie in dem Beispiel @SW_MINIMIZE um es minimiert zu starten [@SW_MINIMIZE]
    ;[] = Da stehen immer die Werte aus dem Beispiel drinne
    ShellExecute("notepad.exe","",@TempDir,"",@SW_MINIMIZE)

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

    ;Braucht man glaub ich nicht zu beschreiben :)
    $str = 'Der Text der gesendet werden soll.'

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

    ;Kleine Schleife um sicher zu stellen das Notepad wirklich gestartet ist :) bevor der Text gesendet wird
    ;ProcessExists wird als Parameter der Name des Processes übergeben, siehe Taskliste.
    Do
    Sleep(250)
    Until ProcessExists("notepad.exe")

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

    ;Mit diesem Befehl wird der vorhandene Text in einem Kontorll ersetzt
    ;Parameter 1: Fenstertitel [Unbenannt]
    ;Parameter 2: Text im Fenster []
    ;Parameter 3: Name des Kontrolls oder Classname würde auch gehen
    ; Hier empfield sich als Hilfe das WindowInfoTool von Autoit zu benutzen [Edit1]
    ;Parameter 4: Der Text der gesendet werden soll
    ;[] = Da stehen immer die Werte aus dem Beispiel drinne
    ControlSetText("Unbenannt","","Edit1",$str)

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • Hi, probiers am so:

    ShellExecute("notepad.exe","",@TempDir,"",@SW_MINIMIZE)
    HotKeySet("{esc}","_exit")

    While 1
    $zahl = Random(1,10000,1)
    ControlSend("Unbenannt","","",$zahl & @CR)
    Sleep(5000)
    WEnd


    Func _exit()
    Exit
    EndFunc

  • @XNeoX
    Also beim letzten Beispiel wird bei mir Text gesendet, dein Notepad Fenster heißt doch Unbenannt oder?

    @Dragony94
    Da kommt bei mir nix an im minimierten Zustand, das hatte ich als ersten Versuch gepostet :)

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • Hab eine ähnliche Frage:

    Ich will auch einen Script minimiert laufen lassen;
    Ich will den Skript aber in einem Programm ausführen, was schon läuft.
    Hab ein bisschen selber gebastelt, und es kam folgendes raus:

    Spoiler anzeigen

    WinActivate ("das Programm das ich ausführen will","",@TempDir,"",@SW_MINIMIZE)

    Das funktioniert aber leider nicht. Was mache ich falsch :?:


    Mfg
    juby :rock:

    Einmal editiert, zuletzt von juby (28. November 2008 um 16:30)