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

Beiträge von PenGuin

  • #include Problem

    • PenGuin
    • 9. April 2011 um 11:35

    Na und wo ist das Problem dann einfach alles direkt am Anfang zu inkludieren?

  • #include Problem

    • PenGuin
    • 9. April 2011 um 00:16

    Ich glaube er/sie möchte einfach, dass ein Programm, welches in den einzelnen au3 hinterlegt ist, ausgeführt wird.

  • Standard Audiogerät setzen (Win XP + Win 7)

    • PenGuin
    • 8. April 2011 um 22:27
    Zitat von PokerFace

    Funktioniert !
    Aber leider noch etwas störend. :(

    Ja, bedauerlicherweise ließ sich das Sound Fenster nicht mit @SW_HIDE starten, auch nicht als DLL Call, auch das im Nachhinein unsichtbar machen ging nicht.

  • Standard Audiogerät setzen (Win XP + Win 7)

    • PenGuin
    • 7. April 2011 um 22:34

    Ich hab momentan nur diese Lösung:

    Spoiler anzeigen
    [autoit]

    Func _SetAudioDevice($sChange, $iAudio = 0)
    ; 0 = Playback
    ; 1 = Record
    Local $iAudioCount, $sName, $sDefault, $ID = -1
    Local $fDefault = False, $fConfigure = False
    Run("control.exe mmsys.cpl")
    WinWait("Sound")
    If $iAudio = 1 Then
    ControlCommand("Sound", "", "[CLASS:SysTabControl32; INSTANCE:1]", "TabRight")
    Sleep(200)
    EndIf
    $iAudioCount = ControlListView("Sound", "", "[CLASS:SysListView32; INSTANCE:1; ID:1000]", "GetItemCount")
    For $i = 0 To $iAudioCount - 1
    $sName = ControlListView("Sound", "", "[CLASS:SysListView32; INSTANCE:1; ID:1000]", "GetText", $i, 1)
    ControlListView("Sound", "", "[CLASS:SysListView32; INSTANCE:1; ID:1000]", "Select", $i)
    $fConfigure = ControlCommand("Sound", "", "[CLASS:Button; INSTANCE:1; ID:1001]", "IsEnabled")
    $fDefault = ControlCommand("Sound", "", "[CLASS:Button; INSTANCE:2; ID:1002]", "IsEnabled")
    Switch $iAudio
    Case 0
    If ($sName = $sChange) And $fDefault And $fConfigure Then
    $ID = $i
    ExitLoop
    EndIf
    Case 1
    If ($sName = $sChange) And $fDefault Then
    $ID = $i
    ExitLoop
    EndIf
    EndSwitch
    Next
    ControlListView("Sound", "", "[CLASS:SysListView32; INSTANCE:1; ID:1000]", "Select", $ID)
    ControlClick("Sound", "", "[CLASS:Button; INSTANCE:2; ID:1002]")
    WinClose("Sound")
    If $ID <> -1 Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc ;==>_SetAudioDevice

    [/autoit]

    $sChange ist der Name des Audiogerätes, welches gesetzt werden soll.

  • War of the stick figures

    • PenGuin
    • 6. April 2011 um 17:21
    Zitat von Blume

    Unnötige Verschwendung des Speichers auf der HDD des Servers :whistling:
    Naja sonst: Wenn die Codestruktur da wäre ein tolles Script.

    Ob ungarische Notation oder nicht, das sei jedem selbst überlassen. Ist halt in Autoit so, dass man nicht erkennt, was die Variable beinhaltet, damit muss man leben lernen.
    Und nur wegen Nichtbenutzens jener Notation gleich das ganze Script als "schlecht" zu titulieren, halte ich persönlich doch schon für stark überzogen.

  • Bass.dll UDF Version_10 Download

    • PenGuin
    • 5. April 2011 um 18:57

    @Sprenger, hab mich damals damit beschäftigt .wav Dateien zu erstellen und dort in Form einer Sinuskurve Töne hineinzuschreiben.
    Hab das leider nicht ganz geschafft und hab Andy befragt, und das ist das Ergebnis gewesen (schon länger her):

    Spoiler anzeigen
    [autoit]

    ;WAV-Header, 16 Bit, 1 Kanal, 44100 Hz
    Global Const $pi = 4 * ATan(1) ;pi=3,1415926....
    $wavheader = "0x52494646CCBA060057415645666D7420100000000100010044AC0000885801000200100064617461";A8BA0600"

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

    $data = _createwavedata(400, 600, 60)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $data = ' & StringLen($data) & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console

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

    $size = Hex(StringLen($data) / 2, 8)
    $len = ""
    For $i = 7 To 1 Step -2 ;size in little endian
    $len &= StringMid($size, $i, 2)
    Next

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

    $bin = BinaryToString($wavheader & $len & $data)
    $wav = FileOpen("test1.wav", 18)
    $bindata = FileWrite($wav, $bin)
    ;ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $bindata = ' & $bindata & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    FileClose($wav)
    ShellExecute("test1.wav") ;wavedatei abspielen

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

    Func _createwavedata($freq1, $freq2, $seconds) ;von freq1 nach freq2 innerhalb seconds
    $wavstring = ""
    $f = $freq1
    $b = 0
    For $i = 1 To $seconds
    $f = $freq1 + Abs($freq1 - $freq2) / $seconds * $i ;jede Sekunde wird die frequenz erhöht
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $f = ' & $f & " " & $i & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    For $t = 0 To 1 Step 1 / 44100 ;jede Sekunde eine frequenz

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

    $yt = Int(32000 * Sin(2 * $pi * $f * $t)) ;unsere altbekannte formel
    ;ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $yt = ' & $yt &" "&hex($yt,4)& @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    $lowHighbyte = StringRight(Hex($yt, 4), 2) & StringLeft(Hex($yt, 4), 2)
    ;MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$lowHighbyte' & @lf & @lf & 'Return:' & @lf & $lowHighbyte) ;### Debug MSGBOX
    $wavstring &= $lowHighbyte
    Next
    Next
    Return $wavstring
    EndFunc ;==>_createwavedata

    [/autoit]
  • Habe Probleme mit $tagNMLVCUSTOMDRAW in einem x64 compilierten Script, weiß jemand Rat?

    • PenGuin
    • 4. April 2011 um 16:05
    Zitat von Raupi

    progandy du bist der Beste :thumbup:
    Funzt einwandfrei. Endlich kann ich auch ein Paar Scripte von mir als x64 Version laufen lassen. :D

    Danke dir, hast mir sehr geholfen.

    Nur komisch, dass es ja anscheinend auf manchen Win7 64bit OS läuft. Woran das liegt, keine Ahnung :/:huh:

  • Liste Thread-IDs zu einem Prozeß (32Bit)

    • PenGuin
    • 3. April 2011 um 16:03

    Ich denke du hast das schließen dieses Handles

    [autoit]

    $ret = DllCall('Kernel32.dll', 'int', 'CreateToolhelp32Snapshot', 'dword', $TH32CS_SNAPTHREAD, 'dword', 0)

    [/autoit]

    vergessen ;)

    Also einfach ans Ende:

    [autoit]

    DllCall($hKernel, "bool", "CloseHandle", "hwnd", $ret[0])

    [/autoit]

    €:
    Ich hatte auch mal solch eine Funktion gemacht :P

    Spoiler anzeigen
    [autoit]

    Func _GetProcessThreads($iPID)
    Local $hThreadSnap, $aTID[1], $i = 0, $hThreadFirst, $hThreadNext, $iCount = 0, $iUBound
    Local Const $szTe32Data = "dword dwSize;dword cntUsage;dword th32ThreadId;dword th32OwnerProcessID;long tpBasePri;long tpDeltaPri;dword dwFlags"
    Local $szTE32 = DLLStructCreate($szTe32Data)
    Local $hKernel = DllOpen("kernel32.dll")
    $hThreadSnap = DllCall($hKernel, "ptr", "CreateToolhelp32Snapshot", "dword", 0x00000004, "dword", 0)
    If @error Then
    DllCall($hKernel, "bool", "CloseHandle", "hwnd", $hThreadSnap[0])
    Return SetError(-1)
    EndIf
    DllStructSetData($szTE32, "dwSize", DllStructGetSize($szTE32))
    $hThreadFirst = DllCall($hKernel, "bool", "Thread32First", "ptr", $hThreadSnap[0], "ptr", DLLStructGetPtr($szTE32))
    If @error Then
    DllCall($hKernel, "bool", "CloseHandle", "hwnd", $hThreadSnap[0])
    Return SetError(-2)
    EndIf
    If $hThreadFirst[0] = True Then
    Do
    If DLLStructGetData($szTE32, "th32OwnerProcessID") = $iPID Then
    If Not $i = 0 Then
    $iUBound = UBound($aTID)
    ReDim $aTID[$iUBound + 1]
    EndIf
    $aTID[$i] = DLLStructGetData($szTE32, "th32ThreadId")
    $i += 1
    ReDim $aTID[$i]
    EndIf
    $hThreadNext = DllCall($hKernel, "bool", "Thread32Next", "ptr", $hThreadSnap[0], "ptr", DLLStructGetPtr($szTE32))
    Until $hThreadNext[0] = False
    EndIf
    DllCall($hKernel, "bool", "CloseHandle", "hwnd", $hThreadSnap[0])
    DllClose($hKernel)
    $szTE32 = 0
    Return $aTID
    EndFunc

    [/autoit]
  • Labels neuladen...

    • PenGuin
    • 3. April 2011 um 15:59

    Wieso nicht einfach die URL anpingen via

    [autoit]

    Ping

    [/autoit]

    ?

  • Habe Probleme mit $tagNMLVCUSTOMDRAW in einem x64 compilierten Script, weiß jemand Rat?

    • PenGuin
    • 3. April 2011 um 13:35

    Wenn ich ein Item selektiere und dann den Button klicke, bleibt das Item in der selben Makierungsfarbe und ich habe Win7 64bit, ergo sehe ich da kein Problem? :huh:

  • Sortieralgorithmen

    • PenGuin
    • 3. April 2011 um 13:32

    Und was ist mit Selection-Sort? :P

  • [GELÖST] Abstand Punkt -> Gerade

    • PenGuin
    • 2. April 2011 um 12:16
    Zitat von Sprenger120

    Hi,
    danke für den Denkanstoß :thumbup: . Da hätte ich eigentlich selber drauf kommen können aber eine alte Lebensweisheit sagt: "Auf die leichtesten Dinge kommt mann immer zum Schluss". Die länge von der 10 Px Kathete zu bekommen ist kein Problem aber wie komme ich an die der 4Px ? Mann könnte mit einer Schleife den Punkt immer weiter setzen und dann gucken ob sich Punkt und Gerade berühren aber das würde den Speed zu sehr mindern. Kennt wer ne andere Lösung ?

    Na legst du Y nicht irgendwie in dem Rendervorgang selbst fest?
    Alternativ könnte man das mit Winkelfunktionen lösen, dazu bräuchtest du aber den Winkel...

  • Wie sortiere ich mein ListView

    • PenGuin
    • 1. April 2011 um 22:44

    WM_NOTIFY?
    WM_COMMAND?
    HotKeySet?
    _IsPressed?

  • Webscan über Netzwerkdrucker

    • PenGuin
    • 1. April 2011 um 22:41

    Vllt. StringToBinary und dann abspeichern?

  • [APRIL APRIL] Autoit Version 4 nächste Woche [APRIL APRIL]

    • PenGuin
    • 1. April 2011 um 13:10

    Cool!


    Und ich hatte gehofft.. (1. April :<)

  • Ausführliches Logfile

    • PenGuin
    • 31. März 2011 um 20:12

    Oh tut mir Leid, hab ich wohl überlesen...
    Die Möglichkeit wäre es noch OutputDebugString zu nehmen und dass dann mit einem externen Programm auszulesen, damit wäre
    immerhin dieses Problem behoben:

    Zitat

    Das wurde schon vorgeschlagen. Da aber AutoIt-Unterprozesse über ConsoleWrite kommunizieren geht das schelcht.

    Ich weiß nur grad nicht, wie man das wieder auslesen kann außer mit entsprechenden Debuggern.


    PS: Tjaja, Threads sind schon schön^^

  • SetPrivilege aus NomadMemory.au3 Dont Work

    • PenGuin
    • 29. März 2011 um 21:49

    Das liegt nicht an SeDebugPrivilege, sondern daran, dass sich die IDE mehr Rechte holt als deine kompilte .exe, wenn du sie via Doppelklick startest.

  • Text aus TXT

    • PenGuin
    • 29. März 2011 um 18:45

    _StringBetween?

  • Must Have Programme auf dem Rechner

    • PenGuin
    • 27. März 2011 um 01:15

    VMWare Workstation
    ImpREC
    OllyDbg
    IDA Pro
    ICQ/Skype/TS3
    AutoIt
    Visual C++ 2010
    F-Secure
    CCleaner
    Wireshark
    Cain & Abel
    WinZIP
    wPE / rPE

  • AutoBot initalisiert...

    • PenGuin
    • 22. März 2011 um 19:37
    Zitat von Raupi

    Nur mal so zum mitschreiben, der Bot heißt nicht Autimus Prime sondern Optimus Prime. ;)
    Wenn dein Name also so ähnlich wie Autismus ist, dann bist du selber schuld :rofl:

    Ist aber nur Spaß gepaart mit Sarkasmus... kannst dich ja nennen wie du willst. ;)

    Er hat auch nicht versucht Optimus mit AutoIt zu kreuzen :rolleyes:

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™