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

Beiträge von ProgrammingDonkey

  • RegWrite liefert @error = 1, obwohl RegRead den Wert lesen kann. (Mit Adminrechten)

    • ProgrammingDonkey
    • 14. Mai 2020 um 14:43
    Zitat von Bitnugger

    Diesen Wert findest du (in regedit) dann unter HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{ff079292-973b-4628-ad10-b82ebb8c7f80}.

    In regedit kann ich in beiden Zweigen die Werte ändern... mit AutoIt und auch in der Console mit reg add funktioniert es nur in einem Zweig.

    Yup, der Wert liegt dort wo du geschrieben hast - aber wie kriege ich es dann hin, den tatsächlichen Wert unter HKLM64 zu verändern? Sieht bei dir jetzt so aus, als wäre das garnicht möglich programmatisch -

  • RegWrite liefert @error = 1, obwohl RegRead den Wert lesen kann. (Mit Adminrechten)

    • ProgrammingDonkey
    • 14. Mai 2020 um 00:33

    Wenn ich auf normales HKLM ohne 64-Suffix gehe, kann ich schreiben und danach das dann dort auch lesen, aber das ist nicht der Wert den ich in der Registry sehe, also wird der neu angelegt und hat keine Auswirkung.

    Explizit zu 64bit-exe kompilieren und ausführen ändert auch nichts. (Virenschutz deaktivieren auch nicht)

  • RegWrite liefert @error = 1, obwohl RegRead den Wert lesen kann. (Mit Adminrechten)

    • ProgrammingDonkey
    • 14. Mai 2020 um 00:22

    Hallo allerseits,

    ich versuche gerade ein Skript zu schreiben, was mich per Hotkey zwischen Audio-Ausgabe-Geräten switchen lässt, indem es die nicht erwünschten Geräte deaktiviert. Das Skript findet die passenden Keys, und kann auch problemlos auslesen, ob die dazugehörigen Geräte aktiviert sind, allerdings scheitert es am RegWrite, diesen Zustand zu ändern. Zur Darstellung des Problems habe ich es auf die wesentlichen Zeilen des Problems heruntergekürzt:

    Code
    #RequireAdmin
    
    $sKey = "HKLM64\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{ff079292-973b-4628-ad10-b82ebb8c7f80}"
    $sVal = "DeviceState"
    
    ConsoleWrite(RegRead($sKey, $sVal) & @CRLF)  ; --> 1
    
    RegWrite($sKey, $sVal, "REG_DWORD", "0x00000002")
    
    ConsoleWrite(@error & @CRLF)  ; --> 1
    ConsoleWrite(RegRead($sKey, $sVal) & @CRLF)  ; --> 1
    Alles anzeigen

    Dabei wird der Wert korrekt gelesen, allerdings nicht verändert, mit @error = 1 ("unable to open requested key"). Das Programm kriegt (wie auch Scite vorher) Adminrechte beim Start und läuft auf einem Windows 10 64bit System.

  • FileOpen -> -1

    • ProgrammingDonkey
    • 2. Juli 2017 um 17:06

    Nevermind, ich habe das Script in den Ordner kopiert, ohne in Scite das neue zu öffnen.
    fkin genius xD

  • FileOpen -> -1

    • ProgrammingDonkey
    • 2. Juli 2017 um 17:04

    Habe ich auch schon gemacht. Ich werde jz nochmal versuchen zu gucken, was @ScriptDir ist, nicht dass das irgendwo gestartet wird, wo es nichts verloren hat.....

  • FileOpen -> -1

    • ProgrammingDonkey
    • 2. Juli 2017 um 17:01

    Der Ordner liegt auf einer lokalen HDD, und der Zugriff benötigt keine Admin-Rechte.
    Der Computer ist Windows10 [x64] basiert.

  • FileOpen -> -1

    • ProgrammingDonkey
    • 2. Juli 2017 um 16:58

    #RequireAdmin hatte ich bereits versucht, und lesen kann ich sie auch nicht. (Weder über das Handle, noch über den Dateinamen selbst)

  • Random Sleep Time

    • ProgrammingDonkey
    • 2. Juli 2017 um 16:57

    @alpines wittert einen Bot :DD

  • Random Sleep Time

    • ProgrammingDonkey
    • 2. Juli 2017 um 16:56

    Weil das Random außerhalb der Schleife ist - somit wird nur einmal 'gewürfelt'.

  • FileOpen -> -1

    • ProgrammingDonkey
    • 2. Juli 2017 um 16:49

    Moin,

    ich habe seit über zwei Jahren nichts mehr mit AutoIt gemacht, jetzt brauche ich allerdings ein kleines Programm für eine Literaturaufführung in der Schule - jedenfalls wird am Anfang des Programms eine Datei geöffnet, und das funktioniert aus irgendeinem (wahrscheinlich offensichtlichen) Grund nicht.
    Die Datei ist benannt als 'settings.txt' und liegt im selben Ordner wie das Script:

    AutoIt
    $hFile = FileOpen("settings.txt")
    MsgBox(0,0,$hFile)


    In der MsgBox steht -1.
    Was können Gründe dafür sein?


    Hier nochmal das gesamte Script:

    AutoIt
    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIAvi.au3>
    
    
    HotKeySet("{space}", _StartNext)
    
    
    ;-----------RELEVANT------------
    $hFile = FileOpen("settings.txt", 0)
    MsgBox(0,0,$hFile)
    $sFile = FileRead($hFile)
    MsgBox(0,0,$sFile)
    FileClose($hFile)
    $aFile = StringSplit($sFile, @CRLF)
    $aPlaylist = StringSplit($aFile[1], ",")
    $sReplay = $aFile[1]
    MsgBox(0,0,$sReplay)
    $iCurrent = 1
    
    
    $hGUI = GUICreate("LitPlayer", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP)
    GUISetBkColor(0x000000)
    $hVideo = GUICtrlCreateAvi($sReplay, 0, 0, 0, @DesktopWidth, @DesktopHeight)
    _StartReplay()
    GUISetState()
    
    
    $bClose = False
    While not $bClose
    	Switch GUIGetMsg()
    		Case $GUI_EVENT_CLOSE
    			$bClose = True
    	EndSwitch
    	If Not _GUICtrlAVI_IsPlaying($hVideo) Then
    		_StartReplay()
    	EndIf
    WEnd
    
    
    Func _StartReplay()
    	_GUICtrlAVI_Open($hVideo, $sReplay)
    	_GUICtrlAVI_Play($hVideo, 0, -1, -1)
    EndFunc
    
    
    Func _StartNext()
    	_GUICtrlAVI_Open($hVideo, $aPlaylist[$iCurrent])
    	_GUICtrlAVI_Play($hVideo, 0, -1, 1)
    	$iCurrent += 1
    EndFunc
    Alles anzeigen
  • GDI+ Simple Firework mit Sound Effekten

    • ProgrammingDonkey
    • 30. Dezember 2015 um 23:50

    Ich war ziemlich lange nicht mehr hier, und das erste was ich sehe, ist dieses Script.
    Sieht ziemlich schick aus, und läuft größtenteils flüssig (17-25fps, avg: 20,5)
    Das ganze auf einem Master-PC mit einem unglaublichen Intel i5-3210m cpu :D
    Obgleich mein Laptop leider nur mit 1366x768 auflöst.
    Schönes Script :)

  • Ganz einfache Frage (Variable/String) multiplizieren + sleep

    • ProgrammingDonkey
    • 16. August 2015 um 16:03

    Versuche mal, $time[0] mit

    Code
    ClipPut($time[0])

    In die Zwischenablage zu packen, dann mach hier zwei quotes (""), und fügs in die Mitte ein. Dann siehst du, ob irgendetwas vor oder hinter der 308 ist.

  • Ganz einfache Frage (Variable/String) multiplizieren + sleep

    • ProgrammingDonkey
    • 16. August 2015 um 15:18

    $time[0] ist ein String?
    Falls ja:

    Code
    $newtime = Int($time[0])*1000
  • GUICtrlMenuItem() Index im Menü finden

    • ProgrammingDonkey
    • 26. April 2015 um 14:38

    @bernd670 >> Da auf mehrern Items der gleiche Text sein kann, funktioniert das in meinem Fall nicht so gut.
    Ich habe es nun weit simpler gelöst, indem ich bei jedem Control seinen Index reinschreibe:
    1 | Google
    2 | YouTube
    n | Webseite(n)
    und mit StringSplit herausnehme.

  • GUICtrlMenuItem() Index im Menü finden

    • ProgrammingDonkey
    • 25. April 2015 um 23:14

    Wie dem Titel zu entnehmen, suche ich nach einer Möglichkeit, anhand eines Handles von einem MenuItem seinen Index im Menü heraus zu kriegen.
    Hier ein Beispiel, zur Verdeutlichung:

    [autoit]


    $hMenu = GUICtrlCreateMenu("Menü")
    $hMenuItem1 = GUICtrlCreateMenuItem("Item 1")
    $hMenuItem2 = GUICtrlCreateMenuItem("Item 2")
    ConsoleWrite(GUICtrlMenuItem_GetIndex($hMenuItem2)) -> 2

    [/autoit]


    Gibt es eine solche Funktion? (Ohne Texterkennung..)

  • Menübar: Verstecken und Zeigen

    • ProgrammingDonkey
    • 25. April 2015 um 21:56

    Lösung durch @Raupi per ShoutBox erhalten:

    [autoit]

    _GUICtrlMenu_SetMenu($hGui,$hMenu) ;Zeigen
    _GUICtrlMenu_SetMenu($hGui, 0) ;Verstecken

    [/autoit]
  • Menübar: Verstecken und Zeigen

    • ProgrammingDonkey
    • 25. April 2015 um 21:34

    Gibt es eine Möglichkeit, bei AutoIt die gesamte Menübar, die erscheint, sobald man GUICtrlCreateMenu() aufruft, zu verstecken (und danach irgendwann wieder erscheinen zu lassen)?
    Ein normales GUICtrlSetState($hMenu, $GUI_HIDE) für alle Menüs versteckt nichts.

  • BeatIt - [Music Player mit Equalizer, CrossfadeEx, ...]

    • ProgrammingDonkey
    • 24. April 2015 um 16:56

    Passwort Schutz ist umgesetzt.
    Ich werde nun vorerst mit dem Projekt aufhören, da ich für die Schule mit Python Moorhuhn nachprogge, und meinen Lehrer weiter übertreffen möchte, als bisher ^^

  • tastaturzeichen als positionierung+klick

    • ProgrammingDonkey
    • 15. April 2015 um 15:11

    @MX3ver >> Schick, schick ^^
    Mit Taschenrechner meine ich keinen mit Fenster, sondern eher solch etwas:

    Spoiler anzeigen
    [autoit]


    $sRechnung = ""
    $sRechung &= InputBox("Nummer 1:")
    $sRechenzeichen = InputBox("Welches Rechenzeichen:"=
    If $sRechenzeichen = "plus" Then $sRechnung&="+"
    ...
    MsgBox(0,0,Execute($sRechnung))

    [/autoit]


    Solch simple Sachen bringen einem den Syntax mit If, While etc. bei :thumbup:

  • tastaturzeichen als positionierung+klick

    • ProgrammingDonkey
    • 14. April 2015 um 22:25

    Auch, wenn das hier jetzt nicht sonderlich hilfreich ist, ich würde an deiner Stelle erstmal mit etwas simpleren beginnen.
    Beispielsweise einfach mit einem Taschenrechner ohne GUI. (von wegen Inputboxen usw.)
    Dann kommst du schneller an den Syntax ran, und sowas hier:

    Zitat von MX3ver
    [autoit]

    MouseClick ("left"[180,510])

    [/autoit]

    passiert dann nicht mehr so schnell.
    PS: Das richtige wäre:

    [autoit]


    ;Nach deiner MouseClick(..., ...) Interpretation:
    ;Local $aCoords[2] = [180, 510]
    ;MouseClick("left", $aCoords)

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

    ;Richtige Lösung:
    MouseClick("left", 180, 510)

    [/autoit]

    Hoffe, ich konnte helfen :)

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™