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

Beiträge von Andy

  • Mehrere Kerne nutzen

    • Andy
    • 16. November 2009 um 12:17
    Zitat

    Wenn man ein Programm mit Autoit schreibt, kann man das Programm so umwandeln, dass es schneller läuft

    Kommt auf das Programm an :D
    Wenn Logik- und Sprachenseitig alles was AutoIt hergibt geschwindigkeitsmäßig ausgereizt ist, dann ist m.E. Ende.
    Allerdings bieten die meisten Programme noch einiges Potenzial zum optimieren :rolleyes:
    In der Regel sind die AutoIt-Funktionen (NICHT die UDF´s!) ziemlich schnell, jedenfalls für die meisten Anwendungen schnell genug. Um komplizierte und langwierige mathematische Berechnungen (Verschlüsselung, Bildbearbeitung usw.) zu beschleunigen, bietet sich ggf. die Verwendung geeigneter Dll´s an. Das kommt dann (oft) immer noch nicht in die Geschwindigkeitsbereiche optimierter "richtiger" Compiler, reicht aber meistens aus.

    Um was gehts konkret?

  • [gelöst] Netzwerkproblem...

    • Andy
    • 16. November 2009 um 11:46
    Zitat

    mein Modem weißt meinem Netzwerk direkt die Öffentliche IP zu

    Wie, deinem Netzwerk? "Normalerweise" hängt das Modem an EINEM Rechner und nicht am Netzwerk...Das Netzwerk besteht in diesem Fall z.B. aus dem ICS (Internet Connection Sharing) . Dabei übernimmt der Rechner an dem das Modem hängt die Funktion die Funktion eines Routers so da wären DHCP, DNS, NAT uswusf.... incl. der eventuellen Probleme mit doppelt vergebenen Adressen, mehreren DNS/DHCP-Servern ...

    Ich hatte ICS jahrelang (relativ) problemfrei zuhause am laufen, habe es aber abgeschafft, weil es "von aussen" mit Kenntnis der IP abgeschossen wurde. Bei einigen Onlinespielen (WC3) ist es üblich, die gegnerischen Rechner mit DoS-Attacken zu beglücken, ein ICS abzuschiessen dauert da nur Sekunden.....Heute sehe ich nur im Routerprotokoll die abgewiesenen Pakete :o) Allerdings meine ich mich erinnern zu können, daß einer meiner Rechner nach dem Booten immer ca. 1 Minute gebraucht hat, bis er überhaupt eine Netzwerkverbindung bekam. Lt. Microsoft ist dieses Verhalten aber normal.

    Zitat

    TCP-IP Config steht auf automatisch

    Also gehe ich davon aus, daß ein anderer Rechner das Gateway ins Netz ist.

    Zitat

    Und DHCP wird doch automatisch genutzt, oder

    DAS ist die Frage..... :D ,schau mal auf dem "Toaster" und/oder dem Linux nach, ob die IP automatisch ( DHCP) eingestellt ist oder ob eine feste IP vergeben wurde. (Wird nicht bei Linux schon beim Booten nach einem DHCP Server gesucht?)


    /EDIT/ Hab nochmal den Thread gelesenn....Du beschreibst deine Netzwerkkonfiguration so, daß der Switch direkt am Modem hängt!? Das würde ja bedeuten, daß jeder der angeschlossenen Rechner direkt auf die öffentliche IP zugreift...Somit wäre imho ein "paralleles" Arbeiten im Internet garnicht möglich?!

    /EDIT2/ Ich gehe davon aus, daß du den Problemrechner ohne Switch direkt ans Modem gehängt hast?!

  • Netztraffic ermitteln

    • Andy
    • 16. November 2009 um 00:43

    @hexer,
    probier das mal, Oscars Script mit Auswahl der Adapter in einer Combobox. Funktioniert bei mir einwandfrei...

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    $adapter = ""
    Global $wbemFlagReturnImmediately = 0x10
    Global $wbemFlagForwardOnly = 0x20
    Global $colItems = ""
    $strComputer = 'localhost'
    $Output = ""
    $Output &= 'Computer: ' & $strComputer & @CRLF
    $Output &= '==========================================' & @CRLF

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

    Global $objWMIService = ObjGet('winmgmts:\\' & $strComputer & '\')
    $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_PerfFormattedData_Tcpip_NetworkInterface', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $colItems = ' & $colItems & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    If IsObj($colItems) Then
    For $objItem In $colItems
    $adapter &= $objItem.Name & "|"
    Next
    Else
    $Output &= 'No WMI Objects Found for class: ' & 'Win32_PerfFormattedData_Tcpip_NetworkInterface'
    Exit
    EndIf

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

    GUICreate('Netzwerktraffic', 800, 200)
    GUICtrlCreateLabel("Adapter auswählen:", 10, 10, 120, 20)
    $netzwerkadapter = GUICtrlCreateCombo("", 120, 10, 600, 20)
    GUICtrlSetData(-1, $adapter, StringLeft($adapter, StringInStr($adapter, "|") - 1))
    GUISetState()

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

    Do
    _traffic(GUICtrlRead($netzwerkadapter))
    Sleep(50)
    Until GUIGetMsg() = -3

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

    Func _traffic($NetworkAdapter)
    $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_PerfFormattedData_Tcpip_NetworkInterface', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    For $objItem In $colItems
    If $objItem.Name = $NetworkAdapter Then
    $Output = 'BytesReceivedPersec: ' & $objItem.BytesReceivedPersec & @CRLF
    $Output &= 'BytesSentPersec: ' & $objItem.BytesSentPersec & @CRLF
    $Output &= 'BytesTotalPersec: ' & $objItem.BytesTotalPersec & @CRLF
    ToolTip($Output, @DesktopWidth / 2 - 200, 20, 'Network-Traffic')
    EndIf
    Next
    EndFunc ;==>_traffic

    [/autoit]
  • Zu MP3 Format konvertieren

    • Andy
    • 15. November 2009 um 16:32
    Zitat

    Hab in der SuFu zwar etwas über ffmpeg gefunden, allerdings keine Erklärung oder Ähnliches

    hmm, :cursing: Eingabe bei google von ffmpeg führt zu ffmpeg.org und dort den 2. Link angeklickt zur http://ffmpeg.org/ffmpeg-doc.html mehr Infos wirst du schwerlich finden...
    Damit sollte es auch nicht schwer sein, mit AutoIt genau das zu machen was du möchtest!

  • TreeView macht Probleme

    • Andy
    • 15. November 2009 um 15:54

    Hi, so wie es aussieht, wird zwar eine ID vergeben, allerdings kann man diese ID nicht mit GUICtrlSetFont() verwenden. GUICtrlSetFont() generiert bei Verwendung einen Fehler (code 0)

  • Label aktualisieren

    • Andy
    • 15. November 2009 um 15:35

    oder so

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Test", 211, 128, 519, 263)
    $Input1 = GUICtrlCreateInput("Test", 8, 8, 121, 21)
    $Label1 = GUICtrlCreateLabel("Label1", 12, 64, 100, 17)
    $Label2 = GUICtrlCreateLabel("Label2", 12, 96, 100, 17)
    $Label3 = GUICtrlCreateLabel("Label2", 100, 96, 100, 17)
    $Checkbox1 = GUICtrlCreateCheckbox("Label 1 alle 5 Sekunden aktualisieren", 8, 36, 201, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    AdlibEnable("_test", 5000)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    If GUICtrlRead($Label2) <> GUICtrlRead($Input1) Then GUICtrlSetData($Label2, GUICtrlRead($Input1))
    If GUICtrlRead($Label3) <> GUICtrlRead($Input1) Then GUICtrlSetData($Label3, GUICtrlRead($Input1))
    WEnd

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

    Func _test()
    If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) = $GUI_CHECKED Then ;nur wenn box checked...
    adlibdisable() ;refresh wieder auf 5 Sekunden setzen
    If GUICtrlRead($Label1) <> GUICtrlRead($Input1) Then GUICtrlSetData($Label1, GUICtrlRead($Input1))
    AdlibEnable("_test", 5000); erst wieder nach 5 sekunden testen
    EndIf
    EndFunc ;==>_test

    [/autoit]
  • MyOnlineTelevision(v0.2.2)

    • Andy
    • 15. November 2009 um 15:16

    Hallo,
    schöne Idee, allerdings habe ich bei XP und letzter Version des Mediaplayers zwar Ton, aber kein Bild. Im Mediaplayer werden die Streams problemlos abgespielt (Url aus deinem Script) . Beim Senderwechsel erscheint ab und zu eine schwarze Box im eingebetteten-Fenster.

    bei der Abfrage

    [autoit]

    Case $GUI_EVENT_CLOSE
    GUIDelete($Form2)
    GUISetState(@SW_SHOW,$Form1)

    [/autoit]

    fehlt das EXIT, ansonsten gibts den Fehler

    Code
    ==> The requested action with this object has failed.:
    $oWMP.settings.volume=GUiCtrlRead($Slider1)
    $oWMP.settings^ ERROR
  • Systemkomponenten

    • Andy
    • 15. November 2009 um 13:55
    Zitat

    danke ich schaue mir das mal an

    @Oscar...genau das meinte ich...auf einmal gehts, man beachte die Reihenfolge der Postings :rofl:

    Zitat

    warum machst du mich gleich so an

    das kann ich dir genau erklären: Du fragst in deinem Startpost nach einer "Möglichkeit mit Autoit die Systemkomponenten einen PC's herauszufinden". Du warst nicht in der Lage, das was du wirklich wolltest, nämlich "brauche nur den Takt der CPU, GPU RAM und wie viel Arbeitsspeicher" im ersten Post unterzubringen. Sollen wir das aus unserer Glaskugel lesen?
    Weiterhin hast du nicht beschrieben, wo du schon gesucht, bzw. was du zu diesem Thema schon gefunden, aber nicht verstanden hast!
    Selbst in der von mir nicht geliebten Forensuche findet man z.B. mit den Suchbegriffen "Taktfrequenz Prozessor" rechlich Threads zum Thema. Auch Fehlanzeige....
    Für mich ist all das ein Hinweis darauf, daß dir mal jemand "den Arm aus der Sonne legen soll...". Was in dem Fall auch (dank eines gutmütigen Forenmitglieds) hervorragend geklappt hat!

  • Systemkomponenten

    • Andy
    • 15. November 2009 um 12:31
    Zitat

    das is mir zu kompliziert oscar...

    wenn schon ein FERTIGES und vor allen Dingen funktionierendes Script gepostet wird, dann sollte ein Threadersteller zumindest in der Lage sein, die für ihn wichtigen Funktionen einfach herauszukopieren...Oder erwartest du, dass man dir ein fertiges Script schreibt?

    Zitat

    gibt es eine Möglichkeit mit Autoit die Systemkomponenten einen PC's herauszufinden

    JA! AutoIt-Script-O-Matic...da bekommt man sogar fertige Scripte mit nur 2-3 Mausklicks...oder ist auch das "zu kompliziert"?

  • Netztraffic ermitteln

    • Andy
    • 15. November 2009 um 11:49

    gibts in AutoIt, schau mal hier
    /edit/ uups, falschen Thread erwischt...

  • [gelöst] Netzwerkproblem...

    • Andy
    • 15. November 2009 um 11:25
    Zitat

    ich habe ist Tatsächlich NUR mit SP2

    ...dann weisst du ja, was zu tun ist^^. Einmal das komplette Windows Update fahren (SP3 wird automatisch mitinstalliert) und wenn es dann nicht klappt, weiss ich auch nicht mehr weiter^^

    /*edit*/ Nur mal so interessehalber, benutzt du DHCP? Oder hast du eine feste IP eingestellt? Wenn du mehrere Rechner in deinem Netzwerk hast, probiere mal, auf einen der anderen Rechner zu verbinden. Dauert das dann auch so lange?

  • PDF Datei anzeigen

    • Andy
    • 13. November 2009 um 16:57

    nimm

    [autoit]

    shellexecute("diepdfdatei.pdf")

    [/autoit]

    dann wird automatisch der zuletzt im System registrierte Reader genommen

  • Ispress Wort pc runterfahren

    • Andy
    • 13. November 2009 um 16:27

    kaum ist die Glaskugel mal richtig poliert, laufen die Scripte wie von alleine aus den Fingern....wobei sich mir die Frage stellt, wozu man ein Keyloggerderivat braucht um 12 Tasten abzufragen, anstatt dasselbe mit einem Einzeiler und EINEM(oder 2) Tastendrücken zu machen...

  • Abfrage eines dynamischen wertes in einer Dos Box...

    • Andy
    • 13. November 2009 um 15:54
    Zitat

    Obwohl der Befehl "StringRegExp" und meiner einer stehen arg auf Kriegsfuß

    Willlkommen im Club^^

    Zitat

    Bin schon in der Versuchung eine Anleitung für Dummies zu suchen

    Dem Manne kann geholfen werden......oder auch ein nettes Beispiel

  • Kleiner Fehler

    • Andy
    • 13. November 2009 um 15:01

    ...wenn man ohne Definition von Variablen arbeitet^^

    [autoit]

    $Auslastung = Round($c / $CpuAuslastung[0], 0) & "%"
    Return ($Auslastung)

    [/autoit]

    Dadurch daß $auslastung eine GLOBALE Variable ist (weil eine GuictrlID zugewiesen wurde) hast du diese in der Func() überschrieben...

    [autoit]

    Return (Round($c / $CpuAuslastung[0], 0) & "%") ;sackzement, auch noch kürzer ^^

    [/autoit]
  • Kleiner Fehler

    • Andy
    • 13. November 2009 um 12:59

    Hi,
    ersetze mal die IF ELSEIF Geschichte mit

    [autoit]

    for $i=1 to 5
    If IniRead(@ScriptDir & "/Settings.ini", "Settings - Action", "Action"&$i, "4") = "1" Then GUICtrlSetState(eval("Action"&$i), $GUI_CHECKED)
    If IniRead(@ScriptDir & "/Settings.ini", "Settings - Abfrage", "Abfrage"&$i, "4") = "1" Then GUICtrlSetState(eval("Abfrage"&$i), $GUI_CHECKED)
    next

    [/autoit]

    dann gehts^^...und ist kürzer ;)
    /*edit*/ Nur zur Erklärung, sobald ein Statement in der IF-Abfrage zutrifft, wird der Rest nicht mehr abgearbeitet....d.h. alle anderen elseifs werden nie erreicht

  • IP geändert (WMI Object) - kein Zugriff auf Internetseite

    • Andy
    • 13. November 2009 um 12:33
    Zitat

    Mir ist aufgefallen, dass diese Funktion alle Adapter neu konfiguriert (auch nicht verbundene WLAN).

    Ich bin jetzt nicht der Datenbankspezialist würde aber vermuten, daß "where IPEnabled=TRUE" ALLE Adapter auswählt. Diese werden dann auch alle mit der For/In Schleife abgearbeitet....

  • µit - Dezember

    • Andy
    • 13. November 2009 um 11:36

    Hallo zusammen,
    in letzter Zeit gab es einige sehr interessante Threads zum Thema Geschwindigkeitsoptimierung und Verbesserung der Laufzeit von AutoIt-Scripten. Einiges ist schon länger bekannt (Funktion X ist schneller als Funktion Y , bspw Select/IF/Switch) allerdings besteht immer das Problem, den schön lesbaren Scriptcode mit "unleserlichen" Optimierungen zu verschlimmbessern. Schon bestehende externe Funktionen müssten umgeschrieben werden usw...

    Daher schlage ich eine Art "Precompliler" für den µIt vor!
    Aufgabe:
    Erstelle ein Script, welches vor dem Kompilieren eines Programms (einzubinden in den "Kompiler" ggf. auch bei Run before/after) den Programmcode (incl der Includes?!) untersucht und optimiert. Art und Weise der Optimierung ist euch überlassen :D Der ursprüngliche Scourcecode soll erhalten bleiben (Sicherungskopie), idealerweise werden die Änderungen dokumentiert (Logfile)

    Bewertet werden Effizienz und Ausführungsgeschwindigkeit sowohl des Scripts, als auch des zu optimierenden Programms.
    Sicherlich ist jedem klar, daß keine Wunder zu erwarten sind, aber einige Überraschungen werden sich bestimmt ergeben!
    Interesse?

    /*EDIT*/ Linksammlung zum Thema Optimierungen: (erweitern bitte^^)
    http://www.autoitscript.com/forum/index.php?showtopic=51604&view=findpost&p=390213

  • _Au3Optim (Inline-Funktionen und Code-Optimierung)

    • Andy
    • 13. November 2009 um 11:15

    Sehr schöne Idee!
    Man könnte das Script auch im Bezug auf die Verbesserung der Geschwindigkeit der (kompilierten) Programme erweitern. Stichwort kürzere Variablennamen. Ähnlich wie das, was der Obfuscator macht, aber nicht im Sinne von Unleserlichkeit, sondern mit dem Ziel der besseren Performance.
    So könnte man ein Script mit "normalen" Variablennamen bearbeiten, beim Kompiliervorgang würden aber (wie z.B. der Syntaxcheck) die Variablennamen durch ihre "Kurzform" ersetzt.

  • [gelöst] Netzwerkproblem...

    • Andy
    • 13. November 2009 um 10:18
    Zitat

    Und wenn ich z.B. meine Knoppix-CD Boote, läuft es richtig gut.

    DAS ist doch mal erfreulich^^
    Wäre jetzt nur interessant herauszubekommen, welche Netzwerkparameter bei Linux anders als bei MS eingestellt werden. Ich vermute, daß anhand einer Art "Leistungsindex" diese Parameter eingestellt werden. Bei mir siehts wie gesagt ähnlich aus. Könnte auch an einem Treiber liegen...

    Zitat

    ...wie gesagt ich denke es wird an der XP-CD liegen. Hab hier auch schon ne neue besorgt mit SP3;

    Das hört sich für mich so an, als ob du die Tests nicht mit einem komplett upgegradeten System, sondern nur mit einer "normalen"XP-installation von CD gemacht hast?! Ich könnte mir vorstellen, daß es auf der CD nur einen "Allerweltstreiber" gibt der die nötigsten Funktionen bereitstellt und die reale Hardware garnicht richtig ausnutzt....

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™