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

  • PDF Drucken

    • Andy
    • 14. Oktober 2022 um 08:42

    Hi,

    Interessanter Thread zu diesem Thema->

    ShellExecute / Acrobat Reader / Print verb / SW_HIDE
    Hey Guys, I have noticed something really interesting. All though actually every single application works perfectly fine with all possible show flags, acrobat…
    www.autoitscript.com

    Insbesondere der letzte Abschnitt des letzten Posts...

    Und die Referenz zum Objekt.

    Developing for Interapplication Communication — Acrobat-PDFL SDK: Interapplication Communication

    Zitat von bordermax

    Die Funktion _FilePrint schickt aber die PDF's zum Ausdrucken immer über den Adobe Acrobat 2020 und dieser macht in meinem Script Probleme

    Weißt du das, weil Acrobat ein Fenster öffnet? Adobe hat lt. Community-Foren schon vor Jahren den "Silent"-Druckmodus "entfernt". Nach deren Info wird für jeden Print ein eigenes Fenster geöffnet, welches der User händisch schließen muss. Verbirgt man nun diese Fenster, indem man entweder in den Eigenschaften der *.lnk-Datei (shortcut der Datei im Startmenü) händisch "minimiert" einstellt, oder per Script diese Fenster übereinander stapelt, dann verweigert die Software irgendwann die Arbeit so lange, bis das/die Druckdialogfenster geschlossen werden.

    Ggf ist es also erforderlich, nach dem Druck des Dokuments per AutoIt das Drucken-Dialogfenster zu schließen....

    //EDIT

    Ich hatte "früher" ausschliesslich per per Copy-Befehl direkt aus dem BS auf einen spezifischen Drucker gedruckt, teste das doch mal bitte per Run()/RunAs()

    ">copy c:\blablub\test.pdf \\<servername bzw. IP>\<Druckername>

    Mit *.pdf werden dann alle pdf-Dateien in diesem Verzeichnis an den Drucker geschickt.

    Oder du machst es auf die richtig "harte" Tour und killst den Adobe-Prozess nach jedem Druck.

  • PDF Drucken

    • Andy
    • 13. Oktober 2022 um 12:32

    Hi,

    _FilePrint() nutzt die ShellExecute()-Funktion, sollte also das mit dem PDF verknüpfte Programm laden...

    Das Standard-Procedere, "Reboot tut gut" hast du durchgeführt, im Netz/RDP reicht idR auch Logout/Login?!

    Wenn du "händisch nur ein ShellExecute(deinePDF-Datei) ausführst, was passiert dann?

  • To Wert einer For-Schleife bearbeiten

    • Andy
    • 12. Oktober 2022 um 12:04
    Zitat von AspirinJunkie

    Im Prinzip kann das ja nur so laufen, dass das Betriebssystem für den Pointer einen Zähler hinzufügt und schaut wenn es keine Referenzen mehr auf den Speicherbereich gibt.

    Was dazu führt, dass die Methode,

    Zitat von AspirinJunkie

    Wöllte man also ein schnelles ReDim implementieren, müsste man die Arraydefinition speicherdynamisch per malloc() umschreiben und hätte dann noch die Aufgabe an der Backe immer schön dafür zu sorgen, dass der Speicher am Ende in jedem Fall per free() wieder freigeräumt wird und auch alle Pointer müssen immer schön nachgezogen werden bei Änderungen.

    Das tut Jon sich aus nachvollziehbaren Gründen nicht an, sondern macht es stattdessen einfach per Neudefinition und Umkopieren.

    (neuerdings?!) so gut wie immer verwendet wird.

    Was wiederum immer öfter bei sog. "Updates" diverser Programme dafür sorgt, dass man (ich hatte zu diesem Thema schon mehrere Postings erstellt) zwangsläufig zu dieser Fragestellung kommt ->

    Zitat von Mars

    also dass verkleinernde ReDims früher mal deutlich schneller waren. Aber vielleicht bilde ich mir das auch nur ein... :/

    Nein, du bildest dir da überhaupt nichts ein!

    Was aber im Endeffekt nichts anderes bedeutet, als dass die Software-Ersteller (darf sich so jemand überhaupt noch "Programmierer" schimpfen?!) aufgrund dessen, dass die Hardware etwas schneller geworden ist, nun "langsamen", weil leichter wartbaren und auch einfacher verständlichen Code verwenden, um sich das Leben einfacher zu machen. Die Möglichkeiten der Hardware werden nicht einmal ansatzweise ausgenutzt!

    Das fängt bei Algorithmen an und hört dann bei Implementierungen auf...

    Und da stupides Copy/Paste von Funktionen zum Tagesgeschäft geworden ist, muss ich niemand wundern, dass u.a. katastrophale Sicherheitslücken über Jahrzehnte weltweit in Software gegossen wird! Log4j ist nur eins von vielen Beispielen, ein durchaus lesbarer Artikel zu diesem Thema befindet sich hier.

    Das ist auch mein größter Kritikpunkt an den sog. "Open Source"-Verfechtern. Diejenigen, die am lautesten nach Open Source schreien machen das ja nicht um diesen Code auf Schwachstellen analysieren zu können, sondern um "billig" an ebendiese dann "kostenlos" verfügbaren Funktionen zu kommen!

    Und da die Hardwareentwickler sich glücklicherweise den Ar*** aufreißen um mittlerweile an physikalische Grenzen zu stoßen um die letzten x Promille an Geschwindigkeit aus dem Silizium zu quetschen kann man sich Softwareseitig nun beruhigt darauf konzentrieren, "einfachen" (langsamen) Code und Algorithmen einsetzen zu können....natürlich wird dadurch das Produkt im Endeffekt "besser", win-win, Halleluja!

    Im Bereich "Consumer 3D-Druck" ist das Problem systemimmanent! Die Hardware ist mittlerweile durch "cloning" extrem leistungsfähig und dabei noch preiswert. Die Qualität und Herstellgeschwindigkeit des Produkts, also des Ausdrucks, wird allerdings nicht (mehr) maßgeblich durch die Hardware bestimmt, sondern über die Innovation(en) der Software! Dabei tritt der gleiche Prozess auf, wie schon oben angesprochen bei den Sicherheitslücken. Die etablierten Hersteller der bspw. Slicing-Software müss(t)en, um die (Weiter)Entwicklung zu forcieren, überproportional viel Manpower und Ressourcen in Form von Forschung investieren, nur um dann festzustellen, dass das dann "neue" Feature innerhalb von Stunden weltweit "kopiert" und mit der Hardware aller anderen Hersteller benutzt wird!

    Wenn nun also mit dem Produkt kein Geld verdient werden kann, dann bleibt die Weiterentwicklung an einer Handvoll Freizeit-Enthusiasten hängen, die wiederum hoffen, über einige generierte Klicks auf deren Media-Accounts wenigstens einige Taler in die eigene Tasche gespült zu bekommen.

    Eventuelle "Fehler" in der Software, die, ein JUHUUUU an Open Source, nun "natürlich" auch von den etablierten Firmen verwendet wird, kann man nun glücklicherweise einem oder einer Handvoll "Freizeitprogrammierern" anlasten.....welch eine schöne Welt!

    Und wer sich jetzt fragt wieso weltweit führende Softwarehersteller in ihren Produkten trotz Verfügbarkeit von Zehntausenden an "Programmierern" jahrelang bekannte Bugs nicht fixen, dem empfehle ich weiterhin, "Clone" und "Open Source" zu benutzen!

    Wer nicht bereit ist, für Innovationen und Entwicklungen sowie Produktpflege und Support Geld auszugeben, der muss zwangsläufig damit leben, den Technologisch hinteren Teil der verfügbaren Möglichkeiten benutzen zu können!

    AutoIt ftw!!! :ironie:

    Einer der größten Elektronik-Hardwarehersteller der Welt hat dieses Problem dadurch gelöst, seine Hardware mit der Software zu verdongeln und so die User gezwungen, exorbitant viel Geld für die zugegebener Maßen gerechtfertigte Leistung an Gegenwert zu zahlen! :/ Geht also doch....

  • Overheadarmes/Codearmes Keyboard capturing

    • Andy
    • 12. Oktober 2022 um 09:48
    Zitat von Mars

    Das ist der Beweis dafür, dass ich jetzt auch "zu den alten" gehöre.

    :rofl:

    ...werd du erst mal so alt, wie ich aussehe :rock:

    Jedenfalls schön, dass nicht alle Beiträge im Forennirvana verschwunden sind, etliche andere sind wohl für immer verloren....

  • Overheadarmes/Codearmes Keyboard capturing

    • Andy
    • 10. Oktober 2022 um 18:56

    Hey Mars!

    Ich dachte, dieses Thema schon einmal hier im Forum angesprochen zu haben, du hattest übrigens dazu auch ein Script gepostet... :P

    Thema

    _IsPressed in einer Schleife bei vielen Tasten langsam

    Hi,

    ich frage mit meinem Script ca. 50 Tasten ab, mit jeder Taste wird das Script langsamer (auch wenn gar keine Taste gedrückt wurde).
    Gibt es eine Möglichkeit diese Abfrage zu beschleunigen? Als Beispiel ist das Beispiel aus der Hilfe, welches ich aber so in der Form übernommen habe.
    Ich weiß nicht ob eine Switch/Case Funktion Beschleunigung bringen würde, aber ich bekomme aus _IsPressed ja keine grundsätzliche Antwort ob überhaupt
    eine Taste gedrückt wurde. Dann bräuchte ich ja erst den Rest…
    Cape-City
    8. Dezember 2016 um 20:33

    Dort werden mehrere Methoden vorgestellt.

  • Die Geschichte eines Mädchens aus einem kleinen Dorf mit dem Namen Barbara.

    • Andy
    • 14. September 2022 um 09:44
    Zitat von Alina

    "Roskilde Festival 20 23"

    Jaaaaaaaa!!!!! Für so etwas kann man nicht alt genug sein! Da bekomme ich sicher auch meine Tochter aktiviert, doch endlich mal Dänemark zu besuchen :rock:

    Wobei mir persönlich 1-2 Tage reichen würden...wie gesagt, man wird älter....und die Regenerationszeit steigt expotentiell an ;(

    Also 2 Tage Festival und dann 2 Wochen chillen in Kopenhagen :party:

  • Suche Hilfe - unzulässige Zeichen bei Dateinamen ersetzen - mit "StringRegExp" für ANFÄNGER!

    • Andy
    • 14. September 2022 um 09:10
    Zitat von AspirinJunkie

    Doku lesen hilft anscheinend - muss ich mir mal beherzigen.

    Dann wäre wieder ein Rätsel gelöst.

    Hehe, "unbekannte" Funktion im Text doppelklicken und per Shortcut (ich benutze AutoIt um solche Funktionalität zu erreichen :P ) erhalte ich die google- und auch die MSDN-Abfrage.

    Genau das habe ich auch gemacht! Und auch das Flag hatte ich ausgewertet. Aber das ist doch gar nicht das Problem!

    Zitat von MSDN

    The following are considered invalid characters in all names.

    \ / : * ? " < > |

    Na klasse, eine Liste mit "ungültigen" Zeichen! Soweit gut...

    In einer DOKUMENTATION(!) erwarte ich aber, dass mir zu jedem dieser Zeichen auch dargestellt wird, wie die Funktion diese behandelt?!

    Die anschließende Abfrage des Flags bringt mir zumindest überhaupt nichts, denn ich weiß nicht, welches Zeichen wie behandelt wird.

    Und DAS ist die essenzielle Frage in diesem Zusammenhang, denn niemand braucht eine Funktion die einen Dateinamen "validiert" wenn dieser anschließend in einem "unbekannten" Format weiterbearbeitet wird.

    Das Szenario:

    GUI mit Eingabe eines Dateinamens und anschließender "Prüfung" per PathCleanupSpec ergibt entweder "valid" oder "nicht valid" mit entsprechendem Rückgabestring. Und jetzt?

    Wenn ich nun dem User mitteilen möchte, dass er ein "falsches" Zeichen verwendet hat, wie finde ich das heraus bzw. was bringt mir/dem User die Info des Rückgabeflags?

    Und übrigens:

    Zitat von MSDN

    Removes illegal characters from a file or directory name. Enforces the 8.3 filename format on drives that do not support long file names.

    Steht dort eindeutig "Removes" und kein Wort von "Replaces"?!

    Um beim Beispiel mit der GUI zu bleiben müsste ich eine Abfrage schreiben um das "invalide" Zeichen herauszufinden und ggf dem User mitzuteilen. Ich könnte auch den Rückgabestring dem User vorwerfen mit "Ungültige Zeichen gefunden, der Dateiname wurde in blablub geändert"....so weit waren wir aber per Regex schon mal....man kann sich diese "Funktion(alität)" von PathCleanupSpec also auch komplett sparen!

    Wobei es ein leichtes gewesen wäre zusammen mit dem Rückgabestring auch die von der Funktion geänderten/ersetzten Zeichen zurückzugeben...

    Werden allerdings Dateien von bspw. anderen Dateisystemen empfangen, dann ist es völlig egal wie die "ungültigen" Zeichen aus dem Dateinamen entfernt bzw. ersetzt werden, wichtig ist nur der valide Dateiname.

  • Suche Hilfe - unzulässige Zeichen bei Dateinamen ersetzen - mit "StringRegExp" für ANFÄNGER!

    • Andy
    • 11. September 2022 um 15:08
    Zitat von AspirinJunkie

    Deine konkrete Liste würde man so übersetzen: $sNewName = StringRegExpReplace($sFilename, '[~"#%&:;<>?!\/\\{|}^°²³[\]'']', ' ')

    Was aber zu Leerzeichen innerhalb des Dateinamens führt, daher finde ich die kompletten Zeichen entfernen besser, s. Win-API-Funktion!

    //EDIT habe gerade gesehen, dass ein / durch ein - ersetzt statt gelöscht wird?!

    @kilo, hast du bei https://regex101.com keinen Erfolg?! Ich bin auch nicht der große regex-crack, dafür nutze ich es zu selten, bzw. habe dank dieser Website auch überhaupt keine Veranlassung, mir "alles" bzgl. regex merken zu müssen...

    Wenn man erst einmal begriffen hat, wie reguläre Ausdrücke funktionieren, ist die Syntax absolut kein Problem mehr!

    Wissen ist wissen, wo es steht!!!

  • ImageSearch verhält sich unterschiedlich in Abhängigkeit des aktiven Fensters

    • Andy
    • 26. August 2022 um 08:07

    Das Traymenü befindet sich rechts in der Titelleiste nach Rechtsklick auf das AutoItlogo.

    Die Dll braucht man nicht, sie spart lediglich beim Suchen einige Millisekunden wenn einer der drei entsprechenden Suchmodi (automatisiert) vom Programm ausgewählt ist.

    Man kann die DLL weglassen.

    Die *.ptb-Dateien werden bei jedem Abspeichern des Suchbildes neu erstellt.

    Die ptb.ini enthält alle Einstellungen die über das Traymenü erreichbar sind und auch die Sprachversionen der Hilfeanzeige/Hilfefenster.

    Das ändert aber nichts daran, dass ich das eigentliche "Problem", dein Desktopbild, nicht analysieren kann.

    Du könntest einen Ausschnitt des Desktops in der Größe 1920x1080 ausschneiden und anhängen. Das kann ich dann in "Orginalgröße" auf dem Laptop anzeigen und darauf suchen.

  • ImageSearch verhält sich unterschiedlich in Abhängigkeit des aktiven Fensters

    • Andy
    • 25. August 2022 um 22:36

    Hi,

    ich muss mir das Programm von 2009 nochmal ansehen :rofl:

    Zitat von stefan10

    Läßt sich das irgendwo mit dem Faktor 1,75 korregieren/einstellen?

    //EDIT

    Schalte zunächst mal bitte im Traymenü von PushThebutton den Moviemodus aus und den Mausversatz auf "keiner".

    Dann bitte Rechtsklick auf leeren Bereich auf dem Desktop.

    Im Menü "Anzeigeeinstellungen" wählen.

    Dort bei der Skalierung auf "Erweiterte Skalierungseinstellungen" klicken

    Im Fenster unten deine Benutzerdefinierte Skalierung, bei dir also 175, eingeben

    Bei dem Hinweis zur Verwendung der benutzerdefinierten Skalierung erst nach der Abmeldung auf "Jetzt abmelden" klicken.

    Nach der Abmeldung die Programme neu starten, PushTheButton zeigt nun, wie auch alle AutoItprogramme, korrekte Mauskoordinaten an!

    //EDIT2

    Habe eben gerade festgestellt, dass die Skalierung innerhalb des PushTheButton-Fensters nach der Benutzerdefinierten Skalierung nicht korrekt ist, d.h. die Buttons "Anleitung" und "gespeicherten Button finden" werden nach unten versetzt und verschwinden ggf in der Statuszeile.

    Die gespeicherten Buttons werden aber gefunden.

  • ImageSearch verhält sich unterschiedlich in Abhängigkeit des aktiven Fensters

    • Andy
    • 25. August 2022 um 08:17

    Hi,

    Ich habe beide Dateien von der Größe her angepasst und nur auf das Logo reduziert, s. Anhang, und binär verglichen.

    Die beiden Dateien sind identisch!

    56x54_1.bmp

    Zitat von stefan10

    Mit dem SnippingTool werde ich nie exakt die Größe des ersten Bildes bekommen. Oder soll ich das dann zuschneiden? Oder ist die Größe egal?

    Fall sich jetzt noch jemand fragt, warum ich vor mittlerweile 13 Jahren PushTheButton entwickelt hatte....damit ist alles komplett abgedeckt! Bild Pixelgenau aufnehmen und direkt suchen lassen! Somit entfällt auch sämtliches fehlerbehaftete Gedöns mit Bildumwandeln und dessen Folgen, siehe diesen und gefühlt Millionen andere Threads zum Thema "Problem mit Imagesearch".

    Natürlich ist die Größe des Bildes NICHT egal!

    Eine "Bildersuche" auf dem Desktop ist absolut simpel: Es wird ein Screenshot vom Desktop erstellt, ergo stehen im Speicher entsprechend der Auflösung eine Handvoll Bytes, idR. ARGB 32 Bit (je 8 Bit Alphakanal, Rot,Grün,Blau).

    In diesem Speicherbreich werden nun die Bytes der ersten Pixelzeile des Suchbildes gesucht, in AutoIt ist das ein einfacher Stringvergleich, machbar und extrem schnell problemlos per StringInstr().

    Beim Fund der Position der ersten Zeile wird nun an Speicherposition "Fundstelle plus Bildbreite" (das ist die "Pixel"-Position direkt "unter" dem ersten gefundenen Pixel) die zweite Zeile des Suchbildes verglichen, usw usf.

    Da hier Byteweise verglichen wird, kann man auch den "Toleranz"-Parameter einsetzen, Bei einer Toleranz von bspw. 20 wird, falls im Rot-Kanal das Byte den Wert 147 hat, alles zwischen 127 und 167 gefunden, Analog also auch bei den anderen Farbkanälen.

    Eine Suche "Pixel auf dem Desktop finden" ist also nur Stringvergleichen. Und wenn da nur ein einziges Byte nicht übereinstimmt, wird das "Bild" nicht gefunden...

    stefan10 , Mach mal bitte einen Screenshot deines Desktops per ALT+DRUCK zum Zeitpunkt, wenn du suchen möchtest. Öffne dein Bildbearbeitungsprogramm, füge den Screenshot per CTRL+V ein .

    Ggf "übermale" alle persönlichen Daten. Speichere dieses Bild des Desktops als Bitmap BMP. Du kannst es hier einstellen oder mir als PM schicken.

    Wichtig ist, dass du den Screenshot zum Zeitpunkt der gewünschten Suche machst, nicht nachdem du ggf noch mit der Maus/Tastatur Fenster verschoben/geöffnet/geschlossen hast!

    -

  • ImageSearch verhält sich unterschiedlich in Abhängigkeit des aktiven Fensters

    • Andy
    • 24. August 2022 um 08:29

    Hi,

    Zitat von stefan10

    Der ImageSearch-Befehl hat nie etwas gefunden.

    Stell mal bitte die beiden Bilder ein, PNG oder BMP(besser). Mit beiden meine ich sowohl das Bild, welches du als Suchbild hast, als als auch das zweite Bild, welches du vom direkt beim NICHT gefundenen Suchvorgang von diesem Bereich gemacht hast.

    Ich habe da nämlich eine Idee...

    Ich hatte vor einigen (vielen) Jahren ein eigenes Programm "PushTheButton" geschrieben, welches sowohl die Bilder aufnimmt und auch sucht. Imho wesentlich schneller und auch "genauer" als Imagesearch. Es ging nämlich genau darum, "Buttons" in Fremdprogrammen zu klicken. Dabei hatte ich festgestellt, dass beim Hovern, d.h. wenn der Mauszeiger über dem Button steht, der Button mit einem im Programm/Windows hinterlegten Hoverbild dargestellt wird.

    Diese Variante hatte ich damals kompensiert, indem beim Aufnehmen des Buttons die Möglichkeit bestand, sowohl den nicht- als auch den gehoverten Button abzuspeichern.

  • ImageSearch verhält sich unterschiedlich in Abhängigkeit des aktiven Fensters

    • Andy
    • 23. August 2022 um 17:01

    Hi Stefan,

    dann mach doch einfach mehrere "Aufnahmen" vom Hintergrund, jeweils mit unterschiedlicher Auflösung/Monitor.

    Im Script würde ich dann alle "Bilder" aus dem Verzeichnis nacheinander einlesen und nacheinander prüfen. Dauert pro Bild ja nur einige Millisekunden.

    Hätte den Vorteil, dass du, selbst wenn du das "passende" Bild aus welchen Gründen auch immer nicht erwischen würdest, einfach per Snipping-Tool ein aktuelles "Bild" generierst und im Verzeichnis ablegst.

    Dann musst du den Programmcode nicht jedes Mal ändern und hast in einigen Sekunden auf eine Änderung des Hintergrunds reagiert.

    //EDIT

    WICHTIG! Lege die Bilder als Bitmap *.PNG ab, bei einem JPG reicht schon eine minimale Veränderung des Ursprungbildes um je nach Kodierung/Komprimierung komplett andere Blöcke/Farben zu generieren! Da hilft dann auch kein "Toleranz"-Parameter in der (Imagesearch)-Suchfunktion

  • Ini2Array() : Ini-Datei in Array einlesen + IniGetAllKeys() : Array mit allen vorkommenden Keys einer Ini-Datei erzeugen

    • Andy
    • 22. August 2022 um 15:02

    Hi,

    Zitat von HansJ54

    aber dafür gibt es doch sicher schon was Fertiges wie _FileReadIniToArray() ?

    Falls es so etwas nicht geben sollte, schreib die Funktion selbst, stell sie hier im Thread ein, ändere die Überschrift so, dass der Funktionsname enthalten ist, und alle anderen, welche solch eine Funktion suchen, finden diese auf Anhieb!

  • ImageSearch verhält sich unterschiedlich in Abhängigkeit des aktiven Fensters

    • Andy
    • 22. August 2022 um 10:11

    Hallo!

    Ohne jetzt darauf eingehen zu wollen, dass man Webseiten mit entsprechenden API´s oder Webinterfaces steuert, würde ich vorschlagen, die zu suchenden Bilder incl. eingeblendeter Fenster aufzunehmen, bspw. per Windows-eigenem Snipping Programm.

    Ggf. sorgt das Fenster/Programm im Vordergrund oder auch Windows dafür, dass der vermeintliche Hintergrund farblich verändert wird, das kommt oft vor.

  • Autoit läuft Fehlerhaft bei Remote Verbindung über Windows auf einen Windows Root Server; aber fehlerlos über den Browserzugang

    • Andy
    • 15. August 2022 um 14:53

    Hi,

    Zitat von Racer

    Meiner Meinung nach sollten Serverprogramme immer ohne GUI auskommen

    Was sind denn "Serverprogramme"?! Also ich kenne ausschließlich Programme! Und denen ist es absolut und IMMER völlig egal, auf welchem System sie laufen. Wenn diese Programme "remote" benutzt werden, dann ist es Aufgabe des (davon völlig unanbhängigen) Betriebssystems, das komplette Userinterface so weiterzugeben, als ob der User dieses Programm lokal auf seiner Wieauchimmer-Maschine am laufen hat.

    Und dass Windows bei einer Remoteverbindung ein Fenster im Vordergrund braucht, um das AutoItscript fehlerfrei ausführen zu können, sollte bereits aus diversen Postings bekannt sein.

    Ansonsten noch mal ein :thumbup: für Misterspeeds Erklärung und Lösungsvorschläge!

    Weiterhin gebe ich zum "Problem" des TE meinen Senf dazu...langsam wachsen mir die Fransen am Mund bis zum Boden, so oft habe ich das jetzt in den verschiedensten Foren schon wiederholt:

    Wer zur "Automatisierung" von EXCEL (ohne Datenaustausch mit Drittprogrammen) die AutoIt´schen SEND()-Befehle benutzt, hat von Vornherein schon einen an der Waffel!

    Erstens gibt es die M$-Office-übergreifende "eigene" Programmier/Scriptsprache VBA (Visual BASIC (ja, so ähnlich wie das AutoIt-Basic) for Applications), über die man ALLES abwickeln kann (auch ggf. Datenaustausch mit Drittprogrammen) und zweitens haben sich User wie bspw. der geschätzte Kollege Water die nicht unerhebliche Mühe gemacht, die Office-API in eine durchaus für 99% aller Anwendungsfälle benutzbare UDF umzusetzen.

    Hätte der TE, der sich in erlesener Gesellschaft ünzähliger andere Ignoranten befindet, nur EINE dieser Möglichkeiten verwendet, dieser überflüssige Thread hätte nicht erstellt werden müssen!

    Über die Water´sche UDF ist alles gesagt, sie funktioniert!

    Und bzgl. VBA habe ich in den letzten 12 Jahren intensivster Beschäftigung damit noch KEIN Problem gehabt, wo ich nicht nach einigen Minuten Googeln ein fertiges Beispielscript in einem der unzähligen VBA-Foren gefunden hätte!

    Uns jetzt komm mir blos keiner mit "Anfänger" oder "zu blöd/faul/ignorant" zu Googeln! In der Zeit, dieses "Script" aus Post #3 zu erstellen, welches nur ein Ausschnitt mehreren hunderten Zeilen ist, hätte man in entweder einem AutoIt- oder VBA-Forum einen Thread erstellen können:

    "Hallo zusammen, ich möchte folgende EXCEL-Tabelle1 s. Anhang mit mehreren Hundert/Tausend Feldern in einer minimierten Remoteverbindung bzw. direkt auf dem Server nach der Vorgabe blablub (hier gehören Wörter rein, die das Problem beschreiben!!!) bearbeiten. Endergebnis siehe Tabelle2. Bitte um Ideen/Infos/Scripte, wie man das am Besten bewerkstelligen könnte!"

    Nach spätestens einigen Stunden hätte man verschiedenste qualifizierte Lösungsmöglichkeiten gehabt, von denen auch andere User über die diversen Suchfunktionen später mal eine Lösung zu einem ähnlichen Problem hätten finden können.

    Das o.g "Script" und imho auch dieser Thread dagegen sind der Supergau. Ein ultimatives Beispiel dafür, wie es NICHT gemacht werden sollte, auch nicht von einem blutigen Anfänger.

    Vom definitiv vorhandenen XY-Problem mal ganz abgesehen!

    Btw. hätte eine Google-Suche mit "autoit remote script windows" mehrere Seiten Links und Lösungen zum Thema gefunden....

  • Frage zur Screenshotfunktion

    • Andy
    • 7. August 2022 um 11:38

    Hi,

    Zitat von casi4712

    Das erste Script von Dir habe ich mir mal angesehen, er macht zwar eine Reihe von Snapshots, aber jweils alles nur weisse quadartische Flächen. Also um es mal genauer zu beschreiben, es soll von einem bestimmten Programm Fenster, in dem bestimmte Gebäudeinformationen dargestellt sind

    Funktioniert denn ein _ScreenCapture_Capture AutoIt-Screenshot vom gesamten Bildschirm, wenn dein "bestimmtes Programm" im Vordergrund ist?

    Und btw., was ist denn DAS überhaupt für eine Beschreibung die einem eventuell Helfenden sofort signalisiert, dass deinerseits absolut kein Interesse besteht, Informationen bereitzustellen?! Kein Wunder, dass sich die Spezialisten hier bisher noch nicht gemeldet haben!

    Wenn das "bestimmte Programm" im Fenster kein GDI, sondern, OpenGL oder DirectX zur Ausgabe benutzt, dann funktioniert auch _ScreenCapture_Capture nicht! Genausowenig, wenn das "bestimmte Programm", sobald sich das Fenster im Hintergrund befindet, nicht rendert. Je nach Bibliothek, die der Programmierer verwendet, ist das voreingestellt, bzw. wird von Windows aus Gründen der Ressourceneinsparung so vorgegeben.

    Um OpenGL- oder DirectX-Fensterinhalte zu capturen gibt es andere Funktionen, die aber aus o.g. Gründen meist nur funktionieren, wenn das Fenster sich im Vordergrund befindet.

  • Die Geschichte eines Mädchens aus einem kleinen Dorf mit dem Namen Barbara.

    • Andy
    • 5. August 2022 um 22:31
    Zitat von BananaJoe

    Ist mit fast 55 Jahren mein erstes Wacken

    Hey, ich bin ja nur ein einziges Jährchen älter als du^^

    Zitat von BananaJoe

    Viel Spaß bei den Stones

    ....konnte leider nicht hin. Das ist wie 1982, als einer meiner Freunde zum Geburtstag eine Karte zu QUEEN in München geschenkt bekommen hatte und mich fragte, ob ich mitkommen wollte. Damals waren 50DM für mich eine Menge Geld, und ich hatte abgesagt...und mir seitdem immer in den Hintern gebissen nicht hingegangen zu sein....

    VIEL SPASS IN WACKEN!!! :rock::klatschen:

  • Die Geschichte eines Mädchens aus einem kleinen Dorf mit dem Namen Barbara.

    • Andy
    • 4. August 2022 um 13:53
    Zitat von BananaJoe

    Da ich gerade in Wacken bin

    Habe vor einigen Jahren damit aufgehört....man wird ja älter^^. Aber Spass beiseite, in Zeiten, wo es "Heavy-Metal-Joga" gibt und die "Höhner" auftreten (nix gegen die Höhner, ich bin seit 40 Jahren Fan der Kölner, aber nicht in Wacken...) muss ich da auch nicht mehr hin...

    Um es mit den Worten eines Mitleidenden zu sagen:"...ich will meinen Lemmy wiederhaben..." :rock::rock::rock:

    Btw.: Stones auf der ausverkauften Waldbühne, Karte für 560 Euro....man gönnt sich ja sonst nix!!

  • Die Geschichte eines Mädchens aus einem kleinen Dorf mit dem Namen Barbara.

    • Andy
    • 4. August 2022 um 06:50

    Wie immer bei diesen Geschichten sollte man sie mindestens einmal LAUT lesen....und erst aufhören, wenn man fehlerfrei bis zum Ende kekommen ist :klatschen:

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™