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

Beiträge von eukalyptus

  • switching composite / s-video

    • eukalyptus
    • 17. März 2008 um 14:11

    vielleicht hab ich mich nicht ganz klar ausgedrückt...

    ich schreibe ein webcam-tool nach der vorlage aus dem englischen forum http://www.autoitscript.com/forum/index.php?showtopic=27925&hl=webcam

    dieses tool soll dann auf verschiedenen rechnern laufen, welche alle unterschiedliche webcams haben. die meisten benutzen eine kamera in kombination mit einer video-recording-karte.
    solche videorecordingkarten haben meistens mehrere inputs (tv-tuner,s-video,composite) und standartmässig ist meistens der tv-tuner oder s-video ausgewählt, jedoch selten der composite

    (gestestet mit: cinergy 400, dazzle dvc90, pinnacle dc10, pinnacle 100i, pinnacle usb?, hauppauge wintv usb, hauppauge pci?)

    wenn man z.b. amcap.exe (microsoft) startet, dann kann man manuell den input auswählen - da aber das auswahlfenster vom kartentreiber abhängt, sieht es immer etwas anders aus, sodaß eine automation der auswahl etwas schwierig wird!

    gehen würde es mit directshow, habe auch schon einige c++ und java-beispiele gesehen, blicke da aber nicht so ganz durch!

    bei virtualdub z.b. kann man zwar den commandlineparameter /capchannel angeben, jedoch kann dieser nur tv-kanäle umschalten
    ich hab mir bestimmt schon 50 tools und libraries angesehen und kein einziges hat mir bis jetzt weitergeholfen...

    ich suche nun nach einer einfachen möglichkeit, den input umzustellen.

    hab folgende codes gefunden:
    http://www.codeproject.com/KB/audio-video…tshow_xbar.aspx
    http://www.codeproject.com/KB/directx/LiveVideo.aspx
    is für mich aber zu komplex

  • switching composite / s-video

    • eukalyptus
    • 16. März 2008 um 23:41

    hi

    kennt jemand ein tool, mit dem ich den videosource von meiner karte auf composite einstellen kann?
    jedesmal, wenn ich windows neu boote, hat meine karte (terratec cinergy 400 usb) standartmässig den TV-Tuner als input, benötige aber den composite-eingang!

    kennt jemand ein command-line-tool oder eine dll, mit der man den input umswitchen kann
    oder kennt sich jemand mit directshow aus und kann mir da vielleicht weiterhelfen...
    (pascal-codes mit directshow...)

    ich bin auch dankbar für jedes einfach (mit autoit) zu automatisierendes prog, welches mir da weiterhelfen könnte!

    thxE

    Edit GtaSpider: [17.03.2008 16:27]
    Passt eher in Off Topic..
    Hilfe & Unterstützung >> Off Topic

  • µit - März

    • eukalyptus
    • 14. März 2008 um 14:31

    meine version is (vorerst) fertig!

    Passwort=hangman

    Dateien

    eukalyptus.rar 246,85 kB – 542 Downloads
  • Beep-Befehl Melodie

    • eukalyptus
    • 11. März 2008 um 21:57

    auf http://de.wikipedia.org/wiki/Frequenze…ufigen_Stimmung findest du mal eine frequenzliste

    ich hatte auch mal eine funktion die das ausrechnen konnte; grundsätzlich ist eine oktave immer eine frequenzverdoppelung.

    daraus könntest du dir eine funktion basteln, die notenwerte abspielt und die fütterst du dann mit notenwerten, die du von einem notenblatt abschreibst -

    oder du schaffst es eine midi-datei einzulesen!

    lgE

  • mir war fad - bloxorz bot ;)

    • eukalyptus
    • 9. März 2008 um 11:06

    youtube verwendet den videocodec flv, kann jedoch alle gängigen formate selbständig umwandeln, (wie es aussieht - kein swf ;)).
    ich hab noch nicht eindeutig herausgefunden, ob ein hochgeladenes flv-video direkt übernommen wird, oder nochmals in flv konvertiert!?
    (eine nochmalige flv-codierung würde einen qualitätsverlust bedeuten)

    ich nehm immer in avi auf und konvertiere es in mpeg2 (mit ffmpeg)

    du kannst auch ein anderes format wählen, ich hab bei youtube bereits erfolgreich xvid,divx,flv, avi & mpg hochgeladen.

    lgE

  • mir war fad - bloxorz bot ;)

    • eukalyptus
    • 8. März 2008 um 21:42

    *Aber sag mal, womit hast Du eigentlich das Video aufgezeichnet? Ich interessiere mich für eine Freeware zum Aufzeichnen.*

    mit dem hier:
    http://camstudio.org/

  • mir war fad - bloxorz bot ;)

    • eukalyptus
    • 8. März 2008 um 15:38
    [autoit]

    #include <ie.au3>
    ToolTip("bitte warten...")

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

    Opt("SendKeyDelay",300)
    Opt("SendKeyDownDelay",120)
    Opt("TrayAutoPause",1)
    Opt("PixelCoordMode",2)
    Opt("MouseCoordMode",2)

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

    Run("C:\Programme\Mozilla Firefox\firefox.exe http://www.albinoblacksheep.com/games/bloxorz")
    WinWait("Games » Bloxorz - Mozilla Firefox","",10)
    sleep(2000)
    WinActivate("Games » Bloxorz - Mozilla Firefox")
    WinWaitActive("Games » Bloxorz - Mozilla Firefox")
    $CPos=ControlGetPos("Games » Bloxorz - Mozilla Firefox","","[CLASS:MozillaWindowClass; INSTANCE:9]")
    ControlFocus("Games » Bloxorz - Mozilla Firefox","","[CLASS:MozillaWindowClass; INSTANCE:9]")

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

    Do
    Sleep(500)
    ToolTip("bitte warten...")
    Until PixelGetColor($CPos[0]+204,$CPos[1]+183)>6000000
    Sleep(1000)
    MouseClick("left",$CPos[0]+204,$CPos[1]+183)

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

    Do
    Sleep(500)
    Until PixelGetColor($CPos[0]+426,$CPos[1]+279)>6000000
    Sleep(1000)
    MouseClick("left",$CPos[0]+426,$CPos[1]+279)

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

    Do
    Sleep(500)
    Until PixelGetColor($CPos[0]+2,$CPos[1]+2)>9000000
    Sleep(2000)
    MouseMove($CPos[0],$CPos[1]-70)

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

    For $x=1 to 33
    _Move($x)
    If $x<33 Then _WaitNextLevel($x+1)
    Next

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

    Func _WaitNextLevel($Lev)
    ToolTip("Waiting for Level " & $Lev)
    Do
    Sleep(500)
    Until PixelGetColor($CPos[0]+2,$CPos[1]+2)<100
    Do
    Sleep(500)
    Until PixelGetColor($CPos[0]+2,$CPos[1]+2)>9000000
    Sleep(2000)
    EndFunc

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

    Func _Move($Level)
    Local $Moves,$i,$j,$tip
    $Moves=IniRead(@ScriptDir & "\levelmoves.txt","Level","Level" & $Level,0)
    $Moves=StringSplit($Moves,",")
    For $i=1 to $Moves[0]
    $tip=""
    For $j=1 to $Moves[0]
    $tip=$tip & $Moves[$j]
    If $i=$j Then $tip=$tip & " "
    Next
    ToolTip($tip)
    If StringLen($Moves[$i])=1 Then
    _Send($Moves[$i])
    Else
    For $j=1 to StringTrimLeft($Moves[$i],1)
    _Send(StringLeft($Moves[$i],1))
    Next
    EndIf
    Next
    EndFunc

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

    Func _Send($Com)
    Select
    Case $Com="U"
    Send("{UP}")
    Case $Com="L"
    Send("{LEFT}")
    Case $Com="R"
    Send("{RIGHT}")
    Case $Com="D"
    Send("{DOWN}")
    Case $Com="S"
    Send("{SPACE}")
    Case $Com="W"
    Sleep(2000)
    Case Else
    Send($Com)
    EndSelect
    EndFunc

    [/autoit]

    Dateien

    levelmoves.txt 3,45 kB – 317 Downloads
  • Dieser Crypt Script Mag den Buchstaben Z zu sehr

    • eukalyptus
    • 8. März 2008 um 10:39

    dein script etwas übersichtlicher:

    [autoit]

    Local $filename = @ScriptDir & '\testdatei.txt' ; Name der Datei
    Local $meinarray ; Darin lege ich die Datei ab und ändere den Wert auf den neuen
    Local $newEXP = "·"; Der neue Wert der in exp rein soll

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

    #include <File.au3>
    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Form1", 208, 33, 193, 125)
    FileInstall("C:\Users\WoW-Unit\Desktop\G.txt", "C:\G.txt")
    $Input2 = GUICtrlCreateInput(Fileread('C:\G.txt'), 8, 0, 193, 21)
    GUISetState(@SW_HIDE)
    #EndRegion ### END Koda GUI section ###

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

    _FileReadToArray($filename,$meinarray)

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

    _Replace("·",'A')
    _Replace("á",'C')
    _Replace("‹",'E')
    _Replace(GUICtrlRead($Input2),'G')
    _Replace("Ö",'H')
    _Replace("†",'I')
    _Replace("*",'J')
    _Replace("",'Z')
    _Replace("'",'L')
    _Replace("<",'M')
    _Replace("—",'N')
    _Replace("ª",'Q')
    _Replace("Ñ",'R')
    _Replace("›",'S')
    _Replace("|",'U')
    _Replace("à",'V')
    _Replace("",'W')
    _Replace("§",'Y')
    _Replace("2",'B')
    _Replace("e",'O')
    _Replace("z",'D')
    _Replace("U",'F')
    _Replace("I",'T')
    _Replace("T",'K')
    _Replace("A",'P')
    _Replace("l",'X')

    _FileWriteFromArray($filename,$meinarray,1,$meinarray[0])

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

    Func _Replace($newEXP,$oldEXP)
    Local $nLfd

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

    For $nLfd = 1 To $meinarray[0]
    $meinarray[$nLfd] = StringRegExpReplace($meinarray[$nLfd],$oldEXP,'' & $newEXP & '')
    Next
    EndFunc

    [/autoit]

    tausch mal "Z" & "R" aus - wennst dann ein R zuviel hast, dann liegt das problem am neuen char - dann mußt du halt einen anderen nehmen!

    btw.: hast du dir schonmal die _StringEncrypt-function angesehen?!?

  • mir war fad - bloxorz bot ;)

    • eukalyptus
    • 8. März 2008 um 00:54

    Nein das ist nur eine automation, welche schritt für schritt vorher aufgezeichnete cursor-tasten an das swf sendet, also nicht wirklich was großartiges -
    das mit bot war ein scherz ;)

    u das video läuft deshalb mit doppelter geschwindigkeit, da man bei youtube nur 10 min videos uploaden kann - und das ganze spiel hat nun mal fast 20 min gedauert!

    (ps.: oder soll ich doch behaupten, es handle sich um einen richtigen bot; und ich darf leider den code nicht posten, weil das bot-forum ja geschlossen wurde *lol*)

  • mir war fad - bloxorz bot ;)

    • eukalyptus
    • 6. März 2008 um 23:16

    hab mal aus langeweile eine automation für bloxorz geschrieben und folgendes video aufgenommen:

    http://www.youtube.com/watch?v=f1DUqrr49_Y

    also da spielt quasi der computer...

    falls das wen interessiert ;)

  • stdout von laufendem prog lesen

    • eukalyptus
    • 6. März 2008 um 14:56

    das hatte ich ja befürchtet; ich hab aber gehofft, daß das mit WINAPI CreatePipe oder so vielleicht zu realisieren wär...

    andererseits wird B ja als child von A gestartet, dann A beendet und neu gestartet - das pipe-handle von B sollte dann ja noch existieren, oder?

    ich kenn mich da leider VIEL zu wenig aus :(

    lgE

  • Einfärben von TabControls??

    • eukalyptus
    • 6. März 2008 um 14:47

    ich wollte das auch mal machen und hab folgendes gefunden:

    http://homepage.ntlworld.com/mdaudi100/alte…abcontrols.html

    also es geht, hab es aber in autoit nicht hinbekommen...

    da müssen wir die spezialisten ranlassen!

  • stdout von laufendem prog lesen

    • eukalyptus
    • 5. März 2008 um 20:22

    hallo

    ich hab 2 AutoitProgramme:
    prog A startet prog B und liest dann dessen stdout aus.
    nun kann es vorkommen, daß prog B bereits läuft - kann ich dann irgendwie an den stdout kommen?

    $WebcamProg=Run(@ScriptDir & "\WebCam.exe",@ScriptDir,-1,3)
    $StdOut = StdoutRead($WebcamProg)

    wenn webcam.exe bereits läuft, dann lese ich den PID aus und verwende diesen bei StdoutRead - leider ohne erfolg.
    wie kann ich in diesem fall die beiden programme wieder pipen?

    lgE

  • Icons in shell32.dll

    • eukalyptus
    • 15. Februar 2008 um 17:20
    Zitat von progandy

    Um eigene Icon Dlls zu erstellen eignet sich zum Beispiel GConvert. Damit lassen sich auch Bilder in Icons konvertieren :)

    Jo - und ganz wichtig: mit GConvert kann man eigene icon librarys auf windows vista taugliche 32 bit librarys konvertieren, falls vista sich weigert die selbergebastelten anzuzeigen!

  • Gelesenen Werte umwandeln

    • eukalyptus
    • 12. Februar 2008 um 17:27

    wenn cmd.exe kein stderr ausgibt, dann wartet dein script vergeblich darauf, also lass es einfach weg, oder du ließt den stderr mit dem peek-parameter aus.

    cmd.exe mit /c starten, sonst endet es nicht automatisch

    script schon etwas verändert und liefert auch schon was ;)

    Zitat von Deepred
    [autoit]

    #include <WindowsConstants.au3>
    #include<GUIConstants.au3>
    #include<EditConstants.au3>

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

    $rueckgabe = ""
    $fehler = ""

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

    GUICreate("Systeminfo",500,500)
    $edit = GUICtrlCreateEdit("Bitte warten...die Systeminformationen werden geladen...",0,0,500,500)
    GUISetState()

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

    $pid = run(@comspec & " /c tree C:\","",@SW_HIDE,2)

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

    While 1
    $rueckgabe &= StdOutRead($pid)
    If @error Then ExitLoop
    sleep(10)
    Wend

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

    GUICtrlSetData($edit,$Rueckgabe)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    EndSelect
    WEnd

    [/autoit]
    Alles anzeigen
  • Timeserver Zeit und Datum abfragen ?

    • eukalyptus
    • 11. Februar 2008 um 02:18

    Hi

    Habs nur mit RFC-868-Servern ausprobiert...

    [autoit]

    #include <Date.au3>

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

    $ServerIP="164.67.62.194"

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

    If Ping($ServerIP) Then
    _TimeSync()
    Else
    MsgBox(0,"Error","Ping erfolglos")
    Exit
    EndIf

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

    Func _TimeSync()
    TCPStartup()
    $socket = TCPConnect($ServerIP, 37)
    If $socket <> -1 Then
    While 1
    Sleep(3)
    $recv = TCPRecv($socket, 512)
    If $recv <> '' Then
    $servert = _DateAdd('s', Asc(StringMid($recv, 1, 1)) * 256 ^ 3 + Asc(StringMid($recv, 2, 1)) * 256 ^ 2 _
    + Asc(StringMid($recv, 3, 1)) * 256 + Asc(StringMid($recv, 4, 1)), '1900/01/01 00:00:00')
    $servert=stringsplit($servert," ")
    $serverdate=StringSplit($servert[1],"/")
    $servertime=StringSplit($servert[2],":")
    _SetDate($serverdate[3],$serverdate[2],$serverdate[1])
    _SetTime($servertime[1]+2,$servertime[2],$servertime[3])
    ExitLoop
    EndIf
    WEnd
    EndIf
    TCPShutdown()
    EndFunc

    [/autoit]


    </Date.au3>

  • Es funktioniert nicht auf allen PCs...

    • eukalyptus
    • 8. Februar 2008 um 09:58

    gib der winwaitactive-function ein timeout:

    WinWaitActive("###IntranetApp-Name### - Login - Microsoft Internet Explorer","",20)

    möglicherweise steht auf dem einem pc etwas anderes im title und autoit wartet vergeblich...

  • GuiCtrtlSetImage verändert Position nach Resizing

    • eukalyptus
    • 6. Februar 2008 um 15:07

    ja danke - werd das jetzt so lösen!

    sollte das jemand auf autoitscript.com als bug posten?!?

  • GuiCtrtlSetImage verändert Position nach Resizing

    • eukalyptus
    • 5. Februar 2008 um 23:31

    hallo zusammen,

    folgendes beispiel zeigt mein problem:

    [autoit]


    GUICreate("Test",100,100,100,100)
    $But=GUICtrlCreateIcon("",-1,4,60,32,32)
    GUICtrlSetResizing($But,834)
    GUICtrlSetImage($But,@SystemDir & "\shell32.dll", 30)
    GUISetState();das icon ist unten links
    MsgBox(0,"","")
    WinMove("Test","",100,100,170,170,100) ;das icon ist nach wie vor unten links, wie es lt. setresizing auch sein soll...
    MsgBox(0,"","")
    GUICtrlSetImage($But,@SystemDir & "\shell32.dll", 31);das icon ist nun weiter oben
    MsgBox(0,"","")

    [/autoit]

    also das icon ist nach neuem guictrlsetimage auf seiner ursprünglichen x/y-position, welche es VOR dem resizing hatte...
    kann man das icon wechseln und die aktuelle position beibehalten bzw. mache ich etwas falsch?!?

    lgE

  • DllCallBack stürzt ab, außer ich verschiebe das GUI

    • eukalyptus
    • 26. Januar 2008 um 14:02

    So - Aus!

    nach tagelangem herumprobieren hab ich nun beschlossen, die callback-routine in eine eigene dll auszulagern!
    (d.h. ich greife auf die bass.dll mittels eigener basscallback.dll zu...)

    dazu benutz ich freepascal; erste versuche haben schon funktioniert *freu*
    allerdings ist das noch sehr mühsam, weil ich seit fast 10 jahren nix mehr mit pascal gemacht hab...

    wünscht mir glück...

    solong
    E

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™