Beiträge von BigRox

    Hallo,

    bei der Hilfe zur Funktion "_ArrayUnique" steht in den Bemerkungen zum Parameter $iCount:


    "Standardmäßig ist $iCount auf $ARRAYUNIQUE_COUNT (1) gesetzt und die Anzahl im Array wird im Element [0] gesetzt. Das einstellen von $iCount auf $ARRAYUNIQUE_NOCOUNT (0) gibt eine Liste Anzahl der Items zurück."


    Das "gibt eine Liste Anzahl der Items zurück" ist wohl nicht richtig, denn im Englischen steht:


    "By default $iCount is set to $ARRAYUNIQUE_COUNT (1) and a count is placed in the [0] element. Setting $iCount to $ARRAYUNIQUE_NOCOUNT (0) returns a list without a count."


    MfG:

    BigRox

    BugFix ,

    du hast recht, daher hier der Link zum Dowload bei Github (Der Link beim Hersteller verweist auch auf Github):

    Releases · BiGilSoft/WindowTop
    Set window on top, make it dark, transparent and more - BiGilSoft/WindowTop
    github.com


    Das Programm kann man auch bei Chip runterladen.

    WindowTop
    WindowTop 5.4.13 Englisch: WindowTop ermöglicht das parallele Verwalten Ihrer offenen Bildschirmfenster und bietet zusätzlich einige praktische…
    www.chip.de


    Ich verwende die Version "WindowTop v5.4.13 Setup.exe" als Freeware.


    Mein Betriebssystem ist Windows 10 Pro 64Bit 19043.1110


    MfG:

    BigRox

    Hallo,

    ich möchte das Programm "WinTop" mit AutoIt beenden (schließen).

    Bei WinTop handelt es sich um ein Programm, das im Hintergrund ausgeführt wird und mit dem man jedes Fenster im Vordergrund halten kann.

    Dieses Programm hat leider keine extra Tastenkombination zum schließen. Dazu muss man mit der rechten Maustaste auf das Symbol im Info-Bereich klicken und dann im Kontextmenü "Beenden" anklicken. Das geht auch nur mit der Maus, da es dafür keinen Hotkey o.ä. gibt.

    Ich habe es auch schon mit "ProcessClose" probiert, aber dann meldet das Programm immer nur, es sei abgestürzt und müsse daher sofort neugestartet werden.

    Es schließt sich also nicht, sondern es startet sofort wieder.


    Gibt es da eventuell noch eine andere Möglichkeit zum schließen eines Programms?

    So eine Art Gegenteil zum "Run"-Befehl? (Befehl mit Programmnamen eingeben und Gute Nacht 8o ).

    (ProcessClose halt ich sowieso nur für die letzte Möglichkeit, da man damit dem Programm regelrecht den Teppich unter den Füssen wegzieht und es dann wohl auch keine Zeit mehr hat um sich sauber zu beenden).


    MfG:

    BigRox

    Musashi,

    hier mal der Text mit dem ich dieses Problem habe.

    Es handelt sich um ein etwas längeres AutoIt-Script.

    AutoIt v3 Script (neu) (2).au3


    Beim Einfügen mit den Tasten endet das Script bei Zeile 506 egal wie Groß man das Edit-Control einstellt.


    Ich habe es eben auch mal mit dem Text von dir ausprobiert und damit geht es auch bei mir.


    Ich habe eben mal deinen Text bis 700 Zeilen verlängert und es damit erneut probiert.

    Beim Einfügen mit der Tastatur ist bei Zeile 294 Schluss und mit "ClipGet()" erscheinen alle Zeilen.


    MfG:

    BigRox

    Hallo,

    ich habe da ein Problem mit dem kopieren eines mehrzeiligen Textes in ein Edit-Control.

    Der Text, den ich kopieren will hat 650 Zeilen und befindet sich in der Zwischenablage von Windows.

    Ich verwende beim Kopieren, die ganz normale Zwischenablage von Windows 10 ohne irgendwelche Clipboardmanager usw.


    Und zum testen des ganzen verwende ich folgendes Script:

    AutoIt v3 Script (neu).au3


    Nun zu dem Problem.

    Wenn ich den Text, wie im Testscript, mit dem Befehl "ClipGet()" einfügen lasse, so werden alle Zeilen ins Edit-Control kopiert.

    Kopiere ich dagegen den Text mit den Tasten "<Strg> + <V>" ins Edit-Control, so werden nicht alle Zeilen kopiert.


    Gibt es da eventuell eine Grenze beim einfügen mit den Tasten?

    Da es ja mit "ClipGet()" funktioniert, ist der zu Kopierende Text wohl nicht zu lang o.ä.

    Wie kann ich erreichen, dass auch mit den Tasten alle Zeilen des Textes kopiert werden?


    MfG:

    BigRox

    Moombas

    so etwas ähnliches, habe ich mir auch schon mal überlegt.

    Eine .reg-Datei mit einer Schleife durchackern, die einzelnen Schlüssel usw. so suchen lassen, die gefundenen Sachen in die entsprechenden AutoIt-Befehle umwandeln und dann ausführen lassen.

    Anschließend das ganze wieder einlesen und vergleichen und wenn etwas ungleich ist >> Fehlermeldung.


    Dann versuche ich mal mir das "zusammenzubasteln".


    MfG:

    BigRox

    Moombas

    aber du hast selber einen Weg aufgezeigt wie es geht.

    Ich vermute mal, du meinst das mit dem Auswerten der Fehlermeldung.

    Nur wie geht das?

    Das mit "WM_NOTIFY" usw. habe ich leider bisher nicht so recht verstanden.

    Wo bekomme ich z.B. die Parameter dafür her und was bekomme ich da zum auswerten zurück usw.

    Gibt es dafür eventuell ein Tutorial in deutsch?


    Mfg:

    BigRox

    Moombas

    Ich schreibe Registryeinträge mit Regwrite, dort wird @error auf einen Wert gesetzt, der Rückschlüsse zulässt (siehe dazu die Hilfe).

    Außerdem prüfe ich ALLE Registryeinträge auf ihre erwarteten Werte, wo ich eine Änderung vorgenommen habe.

    Da ich z.B. die Einstellungen von MS-Office 2013 in die Registry importieren will und diese Datei über 100 Werte usw. umfasst,

    würde das mit dem jeden Wert testen, wohl ein ganz schön großer Aufwand werden.


    Das mit dem Auswerten der Fehlermeldung ist dann wohl schon besser, weil dann übernimmt Windows die ganze Testerei für mich.


    MfG:

    BigRox

    Hallo,

    ich benutze Windows 10 Pro 64-Bit und AutoIt 3.3.14.5.


    Wenn ich eine .reg-Datei mit:

    Run(@WindowsDir & "\explorer.exe Test.reg)

    in die Registry importieren will, erscheint ja erst ein Fenster, mit der Frage, ob man diese Datei importieren will.

    Dieses Fenster bestätige ich mit "Ja" und als nächstes kommt da ein Fenster, mit eine Erfolgsmeldung oder einer Fehlermeldung.

    Jetzt kommt meine Frage.

    Wie kann man erkennen, ob da eine Fehlermeldung oder eine Erfolgsmeldung angezeigt wird?


    Das Fenster-Info ist da anscheinend keine Hilfe, da da kein Fenstertext angezeigt wird.

    Auch mit dem Style oder dem ExStyle geht nichts, da das Fenster mit der Erfolgsmeldung und das Fenster mit der Fehlermeldung die gleichen Daten haben.

    Daher habe ich es auch schon mit "PixelSearch" versucht um das rote Symbol zu erkennen, aber auch das geht nicht.

    Das Fenster scheint nur ein leeres Fenster zu sein, in das erst später der entsprechende Text eingeblendet wird.


    Aber irgendwoher muss Windows doch wissen, was es in diesem leeren Fenster anzeigen soll.

    Zudem erklingt ja auch der entsprechende Sound dazu und dazu muss es ja auch ein entsprechendes Ereignis geben.


    Eventuell kennt einer ein Möglichkeit dieses Fenster auszuwerten (oder die dafür nötige Windows-Message).


    MfG:

    BigRox

    Professor Bernd,

    also, wenn ich dein Vorhaben richtig verstehe, willst du anscheinend ein AutoIt-Script schreiben, was auf jedem Rechner, egal mit welchen Rechten, ausgeführt werden kann und das dir immer die notwendigen Rechte geben soll, damit du in alle Registry-Schlüssel schreiben kannst.


    Also das geht wohl nicht, das würde ja einige Sicherheitsvorkehrungen von Windows unterlaufen.

    Stell dir mal vor, wenn das so einfach per Script gehen würde, wie schnell die Hacker usw. das auch machen würden, um ihren Digitalen Müll auf jedem Rechner zu installieren.


    "PowerRun" ist wohl das maximale, was legal möglich ist und ich vermute, diese Möglichkeit wird auch in vielen Installationsprogrammen genutzt, um das zugehörige Programm, auch auf Rechner mit mindestens als Standard-Admin-Rechten, immer richtig zu installieren.


    Eine andere Möglichkeit wie man sich die Rechte mit einem AutoIt-Script maximal erhöhen kann, wird dir hier im Forum wohl auch keiner posten, ansonsten würde der wohl ganz schnell hier aus dem Forum fliegen.


    MfG:

    BigRox

    Professor Bernd,

    um die Schlüssel in die Registry zu schreiben, verwende ich nicht den "RegWrite"-Befehl von AutoIt.

    Ich schreibe alle Schlüssel usw. in eine "reg"-Datei und importiere die Datei dann mit:

    "Run(@WindowsDir & "\explorer.exe " & $_sRegistryFile)"


    Der große Vorteil dabei ist, dass man sofort sieht, wenn etwas nicht funktioniert hat.

    Aber man kann die beiden Fenster von RegEdit auch automatisch von AutoIt schließen lassen.


    Für das Problem mit den Admin-Berechtigungen, gibt es z.B. das Programm

    "PowerRun" vn sordum.org (Download Link z.B. bei Deskmodder.de


    MfG:

    BigRox

    Professor Bernd,

    hier nun die Ergebnisse der neuen Tests.

    Als BS verwende ich wiederum ein ganz jungfräuliches Windows10 Pro 64bit.

    Darauf habe ich nur die Dateien aus der "pspad505en.zip" kopiert, also die portable Version von PSPad.

    In PSPad habe ich keinerlei Einstellungen usw. gemacht.

    Anschließend habe ich folgende vier Dateien in die Registry importiert:

    au3file HKLM.txt

    au3file HKCU.txt

    .au3 HKCU.txt

    .au3 HKLM.txt


    Dies ergibt im Schlüssel "HKCR" folgendes (da habe ich aber nur mal nachgesehen, was da danach so steht):

    au3file HKCR.txt

    .au3 HKCR.txt


    Danach kann ich sofort au3-Dateien per Doppelklick mit PSPad öffnen.


    Dabei gilt, dass HKCU Keys die Keys aus HKLM überschreiben.

    Das wir z.B. dafür gebraucht das neue Benutzer z.B. txt-Dateien Standardmäßig mit Notepad öffnen können und du kannst txt-Dateien aber mit PSPad öffnen.

    Es werden KEINE Admin-Rechte benötigt, um Einträge zu schreiben.

    Also ich kann die Einträge problemlos ohne UAC-Meldung oder Admin-Rechte usw. in "HKLM\Software\Classes" schreiben.

    Das geht auf jedem meiner vier Rechner und auch sofort bei einem absolut jungfräulichen Windows 10.


    MfG:

    BigRox

    @Proffesor Bernd,

    Ich vermute mal Windows 10? Das würde mit "Einstellungen | Apps | Standard-Apps | Standard-Apps nach Dateityp auswählen" zusammen passen. :saint:

    Da vermutest du völlig richtig.


    Deine Schlüssel beziehen sich alle auf AutoIt und SciTE, aber PSPad4AutoIt3 soll voll portabel werden und somit unabhängig von anderen Programmen und deren Registry-Einträgen. Die von dir genannten Schlüssel würden PSPad NICHT für .au3 Dateien registrieren, wenn AutoIt und SciTE NICHT installiert sind. 8o

    Wenn ich das richtig verstehe, willst du AutoIt komplett in PSPad integrieren, sodass du nur noch "PSPad4AutoIt3" auf einem anderen Rechner ausführen musst und dann ein komplettes AutoIt mit PSPad als Editor hast, und das ganze soll ohne Installation gehen.

    Dann darfst du aber nichts in die Registry schreiben, sonst ist ja nichts mit portabel, oder nach jedem Beenden von "PSPad4AutoI3" ist erstmal groß Reinemachen angesagt.


    Somit sind für uns nur HKEY_CURRENT_USER und HKEY_LOCAL_MACHINE

    Sonderbarerweise wirkt sich bei mir jede Änderung in "HKCR" sofort auch auf "HKCU..." und "HKLM..." aus.

    So viel ich weiß, stehen in "HKCU..." die Schlüssel für den momentan angemeldeten User und in "HKLM..." die Schlüsse für alle User.

    Je nachdem welcher User angemeldet wird, werden die Schlüssel aus "HKCU..." und "HKLM..." in "HKCR" zusammengeführt und das was da steht, wird von allen Programmen ausgewertet.

    Man könnt eigentlich auch ganz auf "HKCR" verzichten und nur die entsprechenden Schlüssel in "HKCU..." und "HKLM..." auswerten, aber viele Programme bestehen nun mal auf "HKCR" und somit muss "HKCR" wegen der Kompatibilität bestehen bleiben.


    MfG:

    BigRox

    Hallo Professor Bernd,

    hier die neusten Ergebnisse der letzten Tests.

    Ich habe auf einem neuen BS zuerst die "autoit-v3-setup_3.3.14.5.exe"-Datei, und danach die "SciTE4AutoIt3_4.1.0.exe" installiert.


    Danach habe ich die Datei "pspad505_setup.exe" installiert.

    Bei PSPad habe ich keinerlei Einstellungen geändert.


    Dann habe ich einen Registry-Schlüssel folgendermaßen geändert:

    AutoIt3Script ganz neu.txt

    (die Dateiendung habe ich auf txt geändert, da das Forum reg-Dateien nicht mag).


    Als letztes musste ich noch den .au3-Dateityp unter: "Einstellungen | Apps | Standard-Apps | Standard-Apps nach Dateityp auswählen"

    dem "Text Editor" (das ist PSPad) zuordnen. Als zugeordnetes Standardprogramm wird zwar schon "Text Editor" angezeigt, aber der "Text Editor" ist in Wirklichkeit nicht zugeordnet (das ist eben auch einer der vielen Microsoft-Effekte?().

    Wenn man das nicht macht, so erscheint die "Öffnen mit"-Frage.


    Danach öffnet PSPad au3-Dateien auch sofort per Doppelklick.


    MfG:

    BigRox

    Hallo Professor Bernd,

    hier meine ersten Ergebnisse.

    Auf meinem Rechner (Windows 10 Pro 64Bit) ist Autoit, SciTe4AutoIt3 und PSPad installiert.

    Ich habe in PSPad als Dateityp der mit PSPad geöffnet werden soll ".au3" eingegeben.

    Dadurch fügt PSPad in seiner ini-Datei, im Abschnitt "[Registered FileTypes]"

    .au3 hinzu.

    Das reicht bei mir schon, nach einem Doppelklick auf eine .au3, legt PSPad sofort los und öffnet diese Datei.

    Die anderen notwendigen Registry-Schlüssel legt AutoIt und SciTe schon an.

    Zum ersten währe da der "HKCU\.au3", mit seinem Standardwert "au3file" (dieser Schlüssel ist für au3-Dateien zuständig.

    Dann währe da natürlich auch der Schlüssel "HKCU\au3file". Da steht das anzuzeigende Icon (Defaulticon) und das gewünscht Programm

    (Shell | Open | command).

    Wenn man in dem "Open"-Schlüssel als Standardwert z.B. "Mit PSPad öffnen" einträgt, so erscheint dies im Kontextmenü.

    Im Schlüssel "Shell" steht als Standardwert der Schlüssel der bei einem Doppelklick ausgewertet werden soll.

    Wenn es z.B. unter "Shell" mehrere Unterschlüssel gäbe (open, edit, print...) so gibt der Standardwert an, welscher Unterschlüssel für die Aktion bei einem Doppelklick zuständig ist (die Aktion wird auch fett im Kontextmenü angezeigt.


    So jetzt probiere ich das ganz auch noch mal auf einem anderen Rechner, mit ganz neuer Installation.


    MfG:

    BigRox

    Bist du sicher, dass dieser Einträg benötigt wird, um AU3 Dateien per Doppelklick zu öffnen?

    Hallo,

    das ist so ein Fall, bei dem es komischerweise auch ohne "UserChoice" geht (daher die Vermutung mit der gut versteckten "WhiteList"....)

    Da ich auch PSPad auf meinem Rechner habe, versuche ich mal, ob ich .au3-Dateien auch ohne diesen Schlüssel, auf PSPad registriert bekomme.

    Ich vermute aber schon jetzt, das es nicht geht:(.


    Microsoft hat hier definitiv Hürden eingebaut, die es so in früheren Windows Versionen nicht gab.

    So ist es. Microsoft versucht einem die Sache so schwer zu machen, damit möglichst viele gar nicht versuchen, ein anderes (besseres) Programm einzusetzen.

    Und das schlimmste ist, bei der nächsten Windows-Version, kann alles mal wieder ganz anders sein, damit die bisherigen bekannten Tricks nicht mehr funktionieren.

    Das wird dann wohl irgendwann dazu führen, dass Microsoft das ganze mit den Dateizuordnungen neu schreiben muss, weil sie selber nicht mehr durchblicken:D(das geht irgendwann wie mit WindowsXP, da hat man sich ja auch von einigen "Altlasten" verabschieden müssen, weil es vor lauter Ausnahmen usw. nicht mehr anders ging).

    Aber auch das Setzen des Standard Browsers scheint nicht ganz so simpel zu sein. Firefox öffnet dafür einfach den Dialog von Windows in dem die Standard Apps festgelegt werden können.

    Das Auswählen ist leider nicht das einzige Problem.

    Versuch mal ein Programm in die Listen zur Auswahl zu bekommen. Ich habe es mal mit Opera-Mail gemacht, dass war vielleicht ein Akt.

    Vielleicht hilft folgendes: SciTE scheint das Registrieren von .au3 Dateien ja zu beherschen. Ich könnte auf einem Test-PC ein Windows neu aufsetzen, sodass dort noch nie ein Programm für .au3 und .ppr registriert war. Einen RegShot erstellen, SciTee installieren, zweiten RegShot machen und Einträge ansehen. - Mal sehen. :/

    Das habe ich auch schon mal ausprobiert, es hat nichts gebracht.

    Aber ein Filevergleich könnte etwas bringen.



    MfG:

    BigRox