Beiträge von hipfzwirgel


    Hallo Oscar,


    Zitat

    Ich habe nur nicht herausbekommen, wie man die Zeichen (die man vom Scanner abfängt) aus dem Tastaturpuffer löschen kann.

    mit Return -1 vielleicht...


    Mir wurde nach dem Scannen das letzte eingescannte Zeichen immer in das nächste aktive Eingabefeld geschrieben, egal ob im Programm oder wenn ich danach z.B. ein Browser.- oder Editorfenster öffnete.
    Erst mit Return -1 hörte das auf.

    Hallo Musashi,

    es lag tatsächlich an der Variablen $vValue(in deinem Bsp. $sSearchPattern). Ich habe den Wert auf "(HWiNFO )*(- System)" geändert und jetzt zeigt er den einzigen Index an,
    indem der Fenstertitel drin steht. Damit komme ich weiter.

    Vielen lieben Dank und dir einen schönen Feierabend :theke:

    Scheint aber mit Wildcards nicht zu gehen ;(

    Das ist das Ergebnis von WinList 3 Fenster mit HWiNFO und es gibt mehrere mit System im Titel:

    [105]|HWiNFO64 Pro v7.26-4800 @ LENOVO ThinkPad T480 - System-Zusammenfassung|0x000000000037119C

    [106]|HWiNFO_CommDlg|0x000000000015100A

    [108]|HWiNFO64 Pro v7.26-4800|0x0000000000290E58

    Ich müsste also einen Suchstring mit Wildcards bauen, der nur die Worte HWiNFO und System enthält. Alle anderen Angaben in Zeile 105 (Version, Rechnername oder das Wort Zusammenfassung) können sich ändern


    Code
        Local $vValue = 'HWiNFO64*System*'
    
        Local $aList = WinList()
        _ArrayDisplay($aList, "$aList")
        Local $aResult = _ArrayFindAll($aList, $vValue, Default, Default, Default, 3, Default, Default) ; so geht es leider nicht...
        _ArrayDisplay($aResult, "$aResult")

    Schau mal in meinen Post vom 15.09.2021:

    emulierte Tastatureingabe eines RFID-Scanners in Variable schreiben

    emulierte Tastatureingabe eines RFID-Scanners in Variable schreiben

    Da wird das Thema behandelt. Bei mir ist es halt ein RFID-Scanner gewesen. Dieser ist aber auch als "Tastatur" konfiguriert.

    Ob das Einlesen eines QR-Codes in ein Textfeld abgeschlossen ist werte ich so aus:

    Hoffe das hilft weiter 8);)

    Hallo Gemeinde,

    ich muss mit meinem Proggi ein Screenshot eines Fensters machen. Das Problem: Der Titel des Fensters ändert sich je nach eingestellter Sprache.
    Der Titel des Fenters ist immer gleich aufgebaut HWiNFO64 + Version + Rechnername + Systemzusammenfassung(oder System-Zusammenfassung oder System Summary).

    Jetzt dachte ich, ich erzeuge mit Winlist() zunächst ein Array mit allen Fenstern und suche mit ArrayFindAll den richtigen Fenstertitel raus. Die Frage:

    Kann ich den Suchstring für ArrayFindAll auch mit Wildcards machen? z.B. HWiNFO64 * System *. Dadurch würden die anderen Fenster die HWinFO im Titel haben oder auch System nicht angezeigt werden...
    Wenn ja wie schreibe ich das dann.


    Code
     ; hier funktioniert der Stern als Wildcard... so etwas dachte ich mir für ArrayFindAll
      _FileListToArray(@ScriptDir, 'UUID*.txt', 1)
    
    ; so geht es jedenfalls nicht:
    Local $aResult = _ArrayFindAll($aList, 'HWiNFO64*System*', Default, Default, Default, 1, Default, Default)

    Hallo Moombas,

    danke vielmals für deinen Versuch aber auch da kommt Failed. So wie ich das sehe liegt das nicht an der Parameterzeile sondern am Aufruf SetBiosSetting itself oder an der Objekterzeugung
    Denn wenn ich, wie schon gesagt, den Aufruf mit komplettem Nonsens starte kommt ja ebenfalls Failed. Daraus schleiße ich, das die Parameter gar nicht ausgewertet werden.
    Es müsste ja bei falschen Parametern "Invalid Parameter" kommen. Ich interpretiere, das Autoit warum auch immer die Methode nicht ausgeführt bekommt...

    Nur WARUM :?:

    Hallo Oscar,

    leider funzt dein Vorschlag auch nicht. Auch da bekomme ich Failed.
    Ich habe eben die Methode SetBIOSSetting mit dem WMIexplorer getestet. Da war der Aufruf mit

    "TPM Activation Policy", "No prompts", "<utf-16/>"Passwort erfolgreich.

    Selbst wenn ich den Aufruf SetBiosSetting mit totalem Nonsens aufrufe(z.B. anderer BIOS-Parameter mit falschem Value) bekomme ich Failed.

    Da sollte dann eig. not Supportedd, Invalid Parameter oder sonst was kommen...


    Was macht AutoIt, dass es damit nicht geht :?:


    ;(;(;(

    Hallo Moombas,
    hallo Velted,

    zunächst vielen lieben Dank, das ihr euch dem Thema angenommen habt.

    Leider funktionieren die von euch vorgeschlagenen Lösungen ebenfalls nicht. Ich bekomme als Fehlermeldung immer Failed(=4) egal wie ich den Code umstelle.
    Der Vorschlag von Velted mit $strReturn = $objItem.SetBiosSetting... führt auch dazu, das die Rückgabewerte nicht stimmen.
    Damit kommt also die Methode SetBiosSetting scheinbar nicht zurecht


    Hätte vielleicht noch jemand eine Idee? Es scheint der Aufruf des Objektes zu sein, denn wenn die Parameter falsch wären, müsste Invalid Parameter kommen und nicht Failed
    Hier nochmal mein Code den ich um den Switch ergänzt habe. Dadurch wird in der Ausgabe auch der zur Fehlerzahl zugeordnete Text ausgegeben:

    Hallo Racer,

    vielen lieben Dank für deine Antwort. Leider kann ich hierfür kein Powershell benutzen, weil die Runtimes dazu in unserer POE-Umgebung fehlen.
    Des weiteren benutzt PS dazu Commandlets, deren Code ich bis jetzt nicht finden konnte. Das Commandlet Getbios-... z.B. ist ja unter Autoit nicht nutzbar.
    da müsste ich erst mal den hinterlegten Code auch noch erst übersetzen. Da wäre das Umsetzen von VBS viel einfacher.

    Leider scheine ich aber i-was zu übersehen. Denn wie gesagt das VBS-Script funzt. Nur meine "Übersetzung" geht immer auf Fehler 4 (Failed)

    Kann jemand Helfen :?::?::?:

    Nachtrag:

    Ich bin mit meiner Recherche etwas weiter gekommen:

    so sieht der funktionierende VBS-Code aus:

    Kann mir jemand sagen wie ich das in AutoIt korrekt "übersetze"?
    Mein Code führt immer zum Fehler 4 was "Failed" bedeutet.

    Hallo Gemeinde,

    weiss jemand wie man auf HP-Rechnern eine BIOS-Einstellung via WMI ändern kann bei gesetztem Admin-PWD?
    der folgende Code(die Option TPM Activation Policy soll auf "No Prompts" geändert werden) geht jedenfalls nicht:

    Bei Google finde ich leider nur Powershell-Beispiele. ;( Klar könnte ich das HP-Eigene Tool nutzen aber ich will lernen die Einstellungen direkt per wmi zu machen...
    UND: Für den mir vorgegebenen Einsatzzweck ist Powershell keine Lösung weil es die Runtimes dazu in unserem WINPE(und zwar unabänderlich!!!!) nicht gibt.

    Hallo Gemeinde,

    ich möchte an mein Proggi 4 Variablen aus VBA heraus übergeben, als da wären cfgtext, Rechnername, uuid, sn.
    In der cfgtext befindet sich mehrzeiliger formatierter Text, in den anderen jeweils nur ein Wort/Wert.


    Das Problem: der Inhalt der cfgtext wird in einzelne Indizes gespeichert, sodass nicht 4 Indizes sondern 27 existieren.
    Kann man also eine mit formatiertem Text gefüllte Variable nicht an Autoit übergeben und wenn doch was mache ich falsch?


    So erstelle ich die Variable in VBA:

    Cfgtext = Rechnername & Rechnp & Label & vbCrLf & "CPU: " & Me!cfgcpu & "RAM: " & Me!cfgram & vbCrLf & "Drive: " & Me!cfgdrive & vbCrLf & "GPU: " & Me!cfggrafik & "; WWAN: " & Me!cfgwwan & "; WIFI: " & Me!cfgwifi & "; Touch: " & cfgtouch & "; S/N: " & SN

    das ist der Inhalt(aus Datenschutzgründen etwas gekürzt) der cfgtext(Debug-Anzeige in VBA):

    HP-Z2Leihstellung

    CPU: Intel Core i7-12700KRAM: 2 x 16GB

    Drive: MTFDKBA1T0TFH-1BC1AABHA 1TB

    GPU: NVIDIA T400 2GB; Intel UHD Graphics 770; WWAN: 0; WIFI: 0; Touch: 0; S/N: CZC

    das ist das resultierende cmdline-Array:

    Row|Col 0

    [0]|27

    [1]|HP-Z2LeihstellungCPU:

    [2]|Intel

    [3]|Core

    [4]|i7-12700KRAM:

    [5]|2

    [6]|x

    [7]|16GBDrive:

    [8]|MTFDKBA1T0TFH-1BC1AABHA

    [9]|1TBGPU:

    [10]|NVIDIA

    [11]|T400

    [12]|2GB;

    [13]|Intel

    [14]|UHD

    [15]|Graphics

    [16]|770;

    [17]|WWAN:

    [18]|0;

    [19]|WIFI:

    [20]|0;

    [21]|Touch:

    [22]|0;

    [23]|S/N:

    [24]|CZC2

    [25]|HP-Z2

    [26]|E16D50

    [27]|CZC

    Hallo Gemeinde,

    es ist auf Dauer etwas müßig immer die gleichen Codeschnipsel eingeben zu müssen. Gibt es in SciTE vielleicht so etwas wie Autovervollständigung oder für
    z.B. If Else EndIf oder Schleifen(For, DoWhile,...) oder Switches, etc. die Möglichkeit das Grundgerüst via Tastencode oder ähnlich einzutragen?

    Hatte mal so etwas bei einem HTMl-Editor. Wäre echt cool wenn es das für SciTE auch gäbe...

    Hallo Gemeinde,

    ich möchte in meinem Access 2016-Endlosformular "Kategorieansicht" die Schriftfarbe EINER Zeile in Grau ändern, wenn im Combofeld "Regalfach" dieser Zeile die Option "Zurückgeliefert" ausgewählt wurde.

    Mit


    Code
    For Each ctl In Me.Controls
        If ctl.ControlType >= acTextBox And ctl.ControlType <= acComboBox Then
            Me(ctl.name).FormatConditions.Delete
            Me(ctl.name).ForeColor = 13285815        ' grau
        End If
    Next ctl

    färbt die Schleife aber ALLE Zeilen ein ;(.

    Im Grunde brauche ich eigentlich nur die Bezeichnung für die aktuelle Zeile anstatt Me.Controls (das spricht nämlich eben alle Controls des Formulars an, somit alle Zeilen).

    Die Schleife steht im Switch/Case "Zurückgeliefert" somit ist die Bedingung schon erfüllt.

    Hallo Moombas,

    ich nutze FileFind... nicht, weil da nur 1 oder -1 zurückkommt. Bei FileListToArray habe ich auch den Namen der Datei im Array und diesen Namen, der immer ein anderer sein kann, benötige im weiteren Verlauf für einige andere Aktionen, des Programmes...