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

Beiträge von Elodie

  • [Frage]Programm öffnen ohne genaue Pfad...

    • Elodie
    • 1. Juli 2009 um 16:41

    Manche Programme kann man auch ganz einfach so starten.
    Zum Beispiel Firefox:

    [autoit]


    shellexecute("firefox.exe")

    [/autoit]

    Dafür musst du im Normalfall einfach bei dem gewünschten Programm auf die Eigenschaften gehen. Dort bei "Ziel:" steht dann der komplette Pfad und du nimmst davon nur das, was nach dem letzten \ kommt.

    Beispiel:
    "C:\Programme\Internet Explorer\iexplore.exe"

    Autoitprogrammcode:

    [autoit]


    Shellexecute("iexplore.exe")

    [/autoit]

    Edit: Das klappt bei allen Programmen, die unter (bei mir) C:\Programme und allgemein unter @ProgramFilesDir installiert sind.

    Mit freundlichen Grüßen
    Elodie

  • Wie ändert man die Tabitem Hintergrundfarbe?

    • Elodie
    • 1. Juli 2009 um 16:26

    Hallo Ralf!

    Ich habe hier das Skript von Bugfix:

    Spoiler anzeigen
    [autoit]


    #include <TabConstants.au3>
    #include <WinAPI.au3>
    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiTab.au3>

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

    Global Const $ODT_TAB = 101
    Global Const $ODS_SELECTED = 0x0001
    Global Const $ODA_DRAWENTIRE = 0x1
    Global Const $ODS_FOCUS = 0x0010

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

    Global $aColTabItem[3][2] = [['Item1',0x11AADD],["Item2",0xEEBB99],["Item3",0x4763FF]] ; [[TabItem-Bezeichnung,TabItem-Color]]

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

    $hGUI = GUICreate("Draw Tab", 300, 200)
    $hTab = GUICtrlCreateTab(10, 10, 280, 180, $TCS_OWNERDRAWFIXED)
    $TabItem_1 = GUICtrlCreateTabItem("Item1")
    GUICtrlCreateLabel("", 10, 33, 277, 155)

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

    $TabItem_2 = GUICtrlCreateTabItem("Item2")
    GUICtrlCreateLabel("", 10, 33, 277, 155)

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

    $TabItem_2 = GUICtrlCreateTabItem("Item3")
    GUICtrlCreateLabel("", 10, 33, 277, 155)
    GUICtrlCreateTabItem("")

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

    GUISetState()

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

    GUIRegisterMsg($WM_DRAWITEM, "WM_DRAWITEM")

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

    _GUICtrlTab_SetCurSel($hTab, 2)
    _GUICtrlTab_SetCurSel($hTab, 1)
    _GUICtrlTab_SetCurSel($hTab, 0)

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

    Do
    Until GUIGetMsg() = -3

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

    Func WM_DRAWITEM($hWnd, $Msg, $wParam, $lParam)
    Local $DRAWITEMSTRUCT = DllStructCreate("uint cType;uint cID;uint itmID;uint itmAction;uint itmState;" & _
    "hwnd hItm;hwnd hDC;dword itmRect[4];dword itmData", $lParam)
    If DllStructGetData($DRAWITEMSTRUCT, "cType") <> $ODT_TAB Then Return $GUI_RUNDEFMSG
    If DllStructGetData($DRAWITEMSTRUCT, "itmAction") <> $ODA_DRAWENTIRE Then Return $GUI_RUNDEFMSG
    Local $itmID = DllStructGetData($DRAWITEMSTRUCT, "itmID")
    Local $hDC = DllStructGetData($DRAWITEMSTRUCT, "hDC")

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

    Local $itmText = $aColTabItem[$itmID][0], $iBrushColor = $aColTabItem[$itmID][1]

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

    DLLCall("gdi32.dll","int","SetBkMode", "hwnd", $hDC, "int", 1)

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

    Local $iBrush = DLLCall("gdi32.dll","hwnd","CreateSolidBrush", "int", $iBrushColor)
    $iBrush = $iBrush[0]

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

    Local $iBrushOld = _WinAPI_SelectObject($hDC, $iBrush)
    DLLCall("user32.dll","int","FillRect", "hwnd", $hDC, "ptr", DllStructGetPtr($DRAWITEMSTRUCT, "itmRect"), "hwnd", $iBrush)
    Local $tBuffer = DllStructCreate("char[256]")
    DllStructSetData($tBuffer, 1, $itmText)
    $itmText = DllStructGetData($tBuffer, 1)

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

    DllStructSetData($DRAWITEMSTRUCT, "itmRect", DllStructGetData($DRAWITEMSTRUCT, "itmRect", 1) + 10, 1)
    DllStructSetData($DRAWITEMSTRUCT, "itmRect", DllStructGetData($DRAWITEMSTRUCT, "itmRect", 2) + 5, 2)

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

    DllCall("user32.dll", "int", "DrawText", "hwnd", $hDC, "str", $itmText, "int", StringLen($itmText), _
    "ptr", DllStructGetPtr($DRAWITEMSTRUCT, "itmRect"), "int", $DT_LEFT)

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

    _WinAPI_SelectObject($hDC, $iBrushOld)
    _WinAPI_DeleteObject($iBrush)
    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]


    Mit freundlichen Grüßen
    Elodie

  • OCR Programmieren

    • Elodie
    • 30. Juni 2009 um 21:08

    Hallo, anno2008
    Ich bin dir wirklich überaus dankbar für dein Interesse, deine Mühe und auch für deine Geduld! Vielen herzlichen Dank!

    So, nun habe ich zwei sehr gute Screenshots :D - unverschwommen und perfekt scharf.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Damit müsste es gut gehen. Problem sind halt immer andere Darstellungsweisen der PCs :S

    Mit freundlichsten Grüßen
    Elodie

  • OCR Programmieren

    • Elodie
    • 29. Juni 2009 um 20:31

    Ich habe mit Tesseract bisschen herumexperimentiert und so, wie es jetzt schon läuft ist es so gut wie perfekt ;)
    Die einzigen Zeichen, die etwas Probleme machen sind ä ö ü und vor allem das i, das wie ein l aussieht.

    So, da ich dachte, dass ein Screenshot nicht nur von sich aus verschwommen ist sondern auch nicht alle Zeichen für die Schrift beinhaltet, habe ich mit Photoshop die originale Schrift in originaler Schriftgröße hergestellt.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Das mit dem Netzwerksniffer mache ich, wenn die OCR wirklich nicht geht. Das liegt ganz einfach daran, dass ich mit der OCR eher zurecht komme als mit Netzwerken. Sonst müsste ich mich nämlich erst mit der ganzen Thematik beschäftigen und zusätzlich noch alles neu programmieren...

    Ich danke schonmal ganz arg herzlich für die tollen Tipps und hoffe nun, dass die letzten Zeichen auch noch richtig eingebaut werden können. :)

  • OCR Programmieren

    • Elodie
    • 28. Juni 2009 um 21:40

    danke für den Link :thumbup:

    So muss ich aber dennoch ein Programm auf jedem PC installieren bzw. installieren lassen. Theoretisch brauche ich auch gar nicht so viele Funktionen, wie das tolle Programm kann. Meine OCR müsste ja "nur" den schattierten Tahoma-Text eines Bildes auslesen können, wobei aber die Farbe und die Schriftgröße keine Rolle spielen dürfen...

  • 2 PCs mit Winamp - Synchronisation?

    • Elodie
    • 28. Juni 2009 um 20:00

    Wie wärs mit Remote Desktop Control? Damit auf PC im Haus auf den PC im Gartenhäuschen zugreifen und die Videos starten.
    Ich empfehle dann lokale Fernsteuerungsprogramme zu verwenden, denn über das Internet gibt es ja immer leichte Verzögerungen ;)

    Edit: achja, VNC ist ja zu langsam :S

  • OCR Programmieren

    • Elodie
    • 28. Juni 2009 um 17:14

    Ein Fenster geht leider nicht auf. Bei Fehlern ist aber zum Glück die Schrift selbst von der Transparenz nicht betroffen.

  • OCR Programmieren

    • Elodie
    • 28. Juni 2009 um 16:59
    Zitat von Oscar

    Die Idee mit den Screenshots ist schon nicht schlecht, aber statt dann ein OCR zu programmieren, würde ich lieber einmalig von allen Fehlermeldungen ein Screenshot machen, diese irgendwo speichern und wenn dann eine Fehlermeldung auftritt, wieder ein Screenshot machen und mit den vorher gespeicherten vergleichen.

    Die Idee finde ich nicht schlecht. Mal davon abgesehen, dass es sehr viele Benutzer und Server gibt. ^^
    Allerdings muss dann die Schrift ohne Hintergrund abgespeichert werden (ist ja nicht schwer), doch dann müsste bei jedem Screenshot ebenfalls der Hintergrund um die Schrift verschwinden, da die Darstellungen bei jedem PC etwas variieren (vor allem der Hintergrund, da das Programm eine Funktion zum Transparent machen des Fensters hat). Oder man vergleicht nur die Pixel an der ganz bestimmten Stelle. Doch da tritt dann das Problem auf, dass durch andere DPI Anzahl und sonstigem die Schrift leicht verschwimmt und sich auch falsche Pixel einschleichen. Folglich müsste man bei dem Vergleich mit pixelgetcolor mit shade-variationen arbeiten oder massenweise Pixelsearches in einer Schleife einbauen.

    Es gibt aber leider auch unerwartete Situationen, die ich gerne auch auslesen und weiterverarbeiten würde.

  • OCR Programmieren

    • Elodie
    • 28. Juni 2009 um 15:19

    Nun in die Logdatei werden nicht alle Informationen hineingeschrieben, die ich bräuchte.
    Das Programm zeigt nämlich noch weitere Informationen an, die ich aber aus Sicherheitsgründen ausblenden musste ;)

    GtaSpider :
    Leider ist das Programm auf sehr vielen Computern innerhalb der Firma installiert, so dass es einen enormen Aufwand darstellen würde, ein neues Programm per Hand zu installieren... Auch werden mit dem Programm noch andere Programme gesteuert, also hätte diese Idee leider weniger Sinn.

  • OCR Programmieren

    • Elodie
    • 28. Juni 2009 um 15:05

    Ja, habe ich schon versucht - leider funktioniert das so nicht...

  • OCR Programmieren

    • Elodie
    • 28. Juni 2009 um 14:30

    Hallo, liebe Autoit-Profis.

    Ich stehe vor einem sehr schweren Problem:
    Ein speziell angepasstes Programm sieht folgendermaßen aus:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Nun muss der Fehler-Text ausgelesen werden, doch dieser lässt sich nicht markieren.
    Also wollte ich eine OCR schreiben, die aber unbedingt im Hintergrund laufen muss.
    Leider habe ich nicht mal den Hauch einer Idee, wie man das programmiert. ;(

    Die Schriftart habe ich schon herausbekommen: Tahoma

    Ich wäre über Hilfe sehr dankbar!

    Liebe Grüße
    Elodie

  • Mausgeschwindigkeit erhöhen?

    • Elodie
    • 21. Juni 2009 um 21:11

    Hallöchen.

    Habe eine kurze Frage:
    Lässt sich die Mausgeschwindigkeit noch etwas erhöhen?
    Mousemove(x, y, 0) ist mir zu langsam :D
    Und die Systemeinstellung nimmt ja leider keinen Einfluss darauf ;)
    Mir kommt das so lange vor ^^

    Liebe Grüße
    Elodie

  • Screenshots

    • Elodie
    • 18. Juni 2009 um 20:55

    Nun, das Problem ist hier beschrieben:
    https://autoit.de/index.php?page…0085#post100085
    Mir kam aber gerade eine andere Idee für dieses Pixelsearch - Problem.

    Aber falls jemand dieses Thema lösen möchte - mich würde der Code trotzdem noch interessieren ^^

  • Screenshots

    • Elodie
    • 18. Juni 2009 um 18:19

    Hallöchen.

    Ich würde gerne ein Screenshot machen (also mit _ScreenCapture_Capture), aber es soll nicht gespeichert werden, sondern nur dynamisch mit Pixelsearch durchsucht werden...
    dazu gibt es noch meine erste Frage: Wie macht Autoit ein Screenshot? drückt er einfach die Druck-Taste?

    Grund, warum ich es so umständlich mache: Auf dem Bildschirm wird ein Pixel angezeigt, das aber sehr häufig nicht gefunden wird, obwohl es für den Benutzer sichtbar ist (siehe ein anders Thema mit meinem Pixelsearch Problem).

    Liebe Grüße
    Elodie

  • Suche Helfer für ein "AutoIt Kinderpaket" - Jeder ist herzlichst eingeladen!

    • Elodie
    • 17. Juni 2009 um 21:59

    A propo Spiele, ich kenne noch ein Strategiespiel, welches wir auch schon in Mathematik gespielt haben.

    Dieses Spiel heißt [Agers], weiß nur nicht so genau, wie man es schreibt :S
    Also, es hat ein vier mal vier Spielfeld.

    Ziel:
    Wie bei Tic-tac-toe: Vier in einer Reihe (Diagonal, waagrecht oder senkrecht)

    Zu den Symbolen:
    Man setzt keine Kreuze oder Kreise sondern Eier. Man kann ganze Eier, halb kaputte und ganz kaputte Eier setzen.
    Man kann auch bei seinem eigenen Spielzug Eier kaputt machen:
    Ganze Eier kann man halb oder ganz kaputt; halbe Eier ganz kaputt machen.
    Die Eier vom Gegenspieler kann man auch kaputt machen.

    Strategie
    Es gibt eine ganz einfache Strategie, die sich theoretisch (wahrscheinlich einfach) programmieren lässt.
    Strategie, für alle, die es nicht selbst herausbekommen wollen:

    Spoiler anzeigen


    Bei der Strategie im vier mal vier feld muss der Gegenspieler anfangen.
    Man muss jeden Zug des Spielers punktsymmetrisch spiegeln. Am Ende muss man dann aufpassen, da der Gegner dann ganz automatisch 3 gleiche in eine Reihe setzt (oder eher setzen muss) und man somit gewinnt :D

    Es macht meiner Meinung nach sehr viel Spaß, fördert das logische Denken und einen Bereich der Mathematik ^^

  • Suche Helfer für ein "AutoIt Kinderpaket" - Jeder ist herzlichst eingeladen!

    • Elodie
    • 16. Juni 2009 um 18:48
    Zitat von ChaosKeks

    Würde vllt noch die Punkte/Fehler anzeigen lassen

    Nun, das Programm ist eigentlich zum Auswendiglernen schwierigerer Fragen, bei denen man eher eine eigene Antwort schreibt und dann mit der korrekten Antwort vergleichen kann ^^
    Daher ist das Textfeld für die eigene Antwort auch so groß ^^

    Beispiel für Mathematik, da könnte das dann so aussehen:
    Frage: Was ist eine Strahlensatzfigur?
    Antwort: Zwei Strecken mit gleichem Anfangspunkt, die von zwei Parallelen geschnitten werden.
    Antwort2: Zwei Strecken mit einem Scheitel, die von zwei Parallelen geschnitten werden.

    Aber man könnte ja programmieren, dass man selbst im Programm einstellen kann, ob das nun korrekte oder eigene Antworten sein sollen ;)

  • Suche Helfer für ein "AutoIt Kinderpaket" - Jeder ist herzlichst eingeladen!

    • Elodie
    • 16. Juni 2009 um 15:49

    So, dann stell ich mal den Programmcode von meinem besagten Programm zu Verfügung.
    Wie gesagt, ganz fertig ist es nicht.
    Ich persönlich habe mir noch folgendes vorgenommen:
    - Jede Frage kommt nur einmal dran bis man alle Fragen mal hatte
    - Informationen einblenden zu den Fragen (z.B. Anzahl insgesamt, die wie vielte Frage)
    - mehrere INIs als Themenbereiche einlesen und diese mit Hilfe eines zweiten Tabs auswählen können.

    Wer Zeit hat, könnte auch hier weiterarbeiten ^^

  • Pixelsearch Problem

    • Elodie
    • 15. Juni 2009 um 20:25

    leider findet er das Pixel immer noch nicht 100%ig und rennt direkt in die Anweisung hinein, obwohl das Pixel genau dem ausgegebenen Hexwert entspricht 8|

  • Suche Helfer für ein "AutoIt Kinderpaket" - Jeder ist herzlichst eingeladen!

    • Elodie
    • 15. Juni 2009 um 19:51

    Da fällt mir ein, dass ich auch schon ein kleines (nicht unbedingt optisch schönes) Programm geschrieben habe, das automatisch im Random Fragen stellt. Dann kann man in einer Editbox seine Antwort hineinschreiben, auf einen Button mit der Aufschrift "fertig" klicken und man sieht die korrekte Lösung und seine eigene geschriebene Antwort daneben.
    Das einzige, was man bisher noch nicht machen kann, ist Absätze in die Fragen oder Antworten machen.

    Die Fragen und Antworten werden jeweils aus einer Ini gelesen und angezeigt.
    Das tolle ist, dass man so viele Fragen und Antworten in die Ini schreiben kann, wie man will. Es eignet sich daher besonders gut für Aufgaben zum Auswendiglernen ^^

    Ich wollte das Programm eh noch bisschen verbessern, aber derzeit fehlt mir auch die Zeit. Wäre das auch etwas, was dich interessieren würde? :)

  • Pixelsearch Problem

    • Elodie
    • 15. Juni 2009 um 19:43

    Hallöchen :)

    Ich habe ein Problem mit Pixelsearch und zwar stimmt irgendetwas an dem Code nicht.
    Das Programm soll, wenn ein bestimmtes Pixel in einem Bereich nicht mehr erscheint, einige Anweisungen so lange ausführen, bis das Pixel wieder da ist. Derzeit jedoch findet er nie das Pixel, so dass er immer die Anweisungen ausführt, aber dann sofort aus der Schleife geht.

    Ich habe sogar schon innerhalb der if-Schleife ein pixelgetcolor eingebaut und in eine ini schreiben lassen. Das Pixel wurde direkt nach der Abfrage gefunden.

    Achja, dieses Script ist nicht für einen Bot oder ähnliches! Es ist für ein sehr kompliziertes Anwendungsproblem, wo ein Bild verschwindet und wieder angezeigt werden muss.

    Hier mein Code:

    Spoiler anzeigen
    [autoit]


    pixelsearch(50, 25, 200, 40, 0xFFFF66, 20)
    if @error then
    do
    ; Anweisung
    pixelsearch(50, 25, 200, 40, 0xFFFF66, 20)
    until not @error
    Endif

    [/autoit]

    Liebe Grüße
    Elodie

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™