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

Beiträge von eukalyptus

  • Audio Output aufnehmen

    • eukalyptus
    • 23. Juni 2010 um 23:47

    Manche Hersteller haben eine Möglichkeit in ihre Soundkarte eingebaut, um den Ausgang aufzunehmen.
    Bei Creative findet man z.B. neben dem Mikrofoneingang die Auswahlmöglichkeit "Was Sie hören"
    Bei Realtek nennt sich das "Stereomix"

    Um das zu testen, kannst du ja mal meinen Rekorder ausprobieren (und evtl. auch den Code verwenden)
    Falls ich morgen etwas Zeit finde, dann kann ich ja auch ein kurzes Beispiel scripten...

    mfgE

  • Alina hat Geburtstag ...

    • eukalyptus
    • 19. Juni 2010 um 09:37

    ♪♫happy birthday to you ♪♬ happy birthday to you ♫ happy biiirthdaayyy liebe Aaliiinaaaaaa ☼ happy ♯♪ biiirthdayii toouuu ♪♬ youuuuuu ♫♪ *sing*
    :party:

  • Spektrum (musik) GDI+

    • eukalyptus
    • 19. Juni 2010 um 09:29

    Scripte mit bass.dll müssen im X86 Modus laufen:

    [autoit]

    #AutoIt3Wrapper_UseX64=n

    [/autoit]

    mfgE

  • Alles Gute, L3viathan

    • eukalyptus
    • 18. Juni 2010 um 11:41

    Auch von mir noch recht herzlichen Glückwunsch!
    :party:

  • CallTips automatisch in SciTE eintragen

    • eukalyptus
    • 16. Juni 2010 um 15:07

    Bei mir klappt es auch ohne Probleme.

    Danke, kann ich echt gut gebrauchen!

  • [Frage] Bass Treble Volume mit au3 verändern?

    • eukalyptus
    • 15. Juni 2010 um 20:45

    Hi

    Wie man den Audiostream zwischen Player und Soundkarte verändert, weiß ich leider nicht!
    Deine Soundkarte hat vielleicht ein Controlpanel mit einem EQ, den du mit AutoIt fernsteuern kannst?

    Falls nicht, dann würde ich das mal so probieren:

    Möglicheit A) Das Motherboard hat einen Onboard Soundchip:
    Diesen setzt du als Standartgerät in Windows und aktivierst im Windows-Mixer "StereoMix"
    Dann erstellst du ein Script, welches den Stereomix dieses Soundchips aufnimmt, durch einen EQ schickt und dann über die "richtige" Soundkarte abspielt.

    Möglichkeit B) du verwendest einen virtuellen Audiotreiber, wie z.b.: http://software.muzychenko.net/eng/vac.html
    evtl. findest du auch eine Free oder Opensource Variante.
    Im Prinzip funktioniert das Routing dann genauso wie (A)


    Möglichkeit C wäre halt einen eigenen virtuellen WDM-Treiber zu schreiben :D

    Edit: Ich kenn deine Soundkarte nicht, aber wenn du mehrere Outputs hast, dann könntest du einen Ausgang mit dem Line-In verbinden und hier das Signal abgreifen und an den zweiten Ausgang weiterleiten... Also: Player -> Output1 -> LineIn -> Script mit EQ -> Output2

    mfgE

  • GUIOnEventMode oder GUIGetMsg?

    • eukalyptus
    • 15. Juni 2010 um 08:53

    Ich benutze auch meistens den OnEvent Modus.
    Den GuiGetMsg Modus nur für ganz kurze Testscripte.

    Manchmal kombiniere ich die beiden auch; Beispiel:
    Ich habe zwei GUI´s, eins für das Hauptprogramm und das zweite für Einstellungen.
    Wenn der User das Einstellungsfenster öffnet, dann wechsle ich von OnEvent zu GetMsg, somit sind alle Buttons des Hauptfensters deaktiviert

    Spoiler anzeigen
    [autoit]

    Opt("GUIOnEventMode", 1)

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

    $hMain = GUICreate("Main", 200, 200, 100, 100)
    GUISetOnEvent(-3, "_EXIT")
    $hButtonTest = GUICtrlCreateButton("Test", 10, 10)
    GUICtrlSetOnEvent(-1, "_Test")
    $hButtonConfig = GUICtrlCreateButton("Einstellungen", 10, 50)
    GUICtrlSetOnEvent(-1, "_Config")
    $hButtonExit = GUICtrlCreateButton("Exit", 10, 90)
    GUICtrlSetOnEvent(-1, "_EXIT")
    GUISetState()

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

    While 1
    Sleep(100)
    WEnd

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

    Func _Config()
    Opt("GUIOnEventMode", 0)
    Local $hGui = GUICreate("Einstellungen", 200, 200, 400, 100)
    Local $hButtonTest = GUICtrlCreateButton("Test", 10, 10)
    Local $hButtonExit = GUICtrlCreateButton("Schließen", 10, 90)
    GUISetState(@SW_SHOW, $hGui)
    Local $msg
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case -3, $hButtonExit
    ExitLoop
    Case $hButtonTest
    ConsoleWrite("Einstellungen - Test" & @CRLF)
    EndSwitch
    WEnd
    GUIDelete($hGui)
    Opt("GUIOnEventMode", 1)
    EndFunc ;==>_Config

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

    Func _Test()
    ConsoleWrite("Test" & @CRLF)
    EndFunc ;==>_Test

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

    Func _Exit()
    Exit
    EndFunc ;==>_EXIT

    [/autoit]

    mfgE

  • [Frage] Bass Treble Volume mit au3 verändern?

    • eukalyptus
    • 15. Juni 2010 um 08:08

    Hi

    Einen EQ kannst du natürlich mit Hilfe der bass.dll machen.
    Der hat allerdings nur Auswirkungen auf den Ausiostream, welcher auch mit Bass.dll abgespielt wird.

    Ich denke aber du willst einen EQ, der der gesammten Output deiner Soundkarte verändert?
    Dazu müsste sich dein Script in den Audiostream zwischen (sagen wir mal) VLC und Soundkarte reinklemmen.
    Ob das so einfach mit AutoIt möglich ist, wage ich zu bezweiflen.
    Ich könnte mir jedoch vorstellen, daß es mit einem virtuellen Audiotreiber gehen könnte, oder auch mit einer zweiten Soundkarte, an der keine Boxen angeschlossen sind.
    Das wäre dann der Output von VLC; bass.dll greift das Signal ab und schickt es durch den EQ an die "richtige" Soundkarte.

    Was willst du denn nun genau erreichen ?

  • Von welcher Funktion wurde meine Funktion aufgerufen?

    • eukalyptus
    • 14. Juni 2010 um 14:03

    Cooler Ansatz :thumbup:

  • Von welcher Funktion wurde meine Funktion aufgerufen?

    • eukalyptus
    • 14. Juni 2010 um 10:44

    Stimmt, zum debuggen wären @ParentFuncName und @CurrentFuncName echt hilfreich

  • Von welcher Funktion wurde meine Funktion aufgerufen?

    • eukalyptus
    • 14. Juni 2010 um 10:28

    OK - je mehr ich darüber nachdenke, desto sinnloser erscheint mir das :D

    Ich setze das mal auf gelöst;
    dennoch: ein @RecursionLevel -Macro hätte schon Sinn.

  • Von welcher Funktion wurde meine Funktion aufgerufen?

    • eukalyptus
    • 14. Juni 2010 um 10:14

    Ich hab ehrlich gesagt noch keine eindeutige Verwendung dafür :whistling:

    Sind nur Überlegungen, wie ich in einer UDF die Speicherreservierung besser machen kann.

    Wenn es Macros wie @ParentFuncName oder @RecursionLevel gäbe, dann hätte ich die Möglichkeit meinen Speicher eindeutig zuzuordnen.
    bzw. automatisch freigeben, wenn ich mich nicht mehr in dieser "Position" befinde

    weiß noch nicht, ob das überhaupt Sinn macht - sind halt nur lose Gedanken ;)

    E

  • Von welcher Funktion wurde meine Funktion aufgerufen?

    • eukalyptus
    • 14. Juni 2010 um 09:32

    Danke, ist jedoch nicht ganz das, was ich wollte.
    Mit Level/Ebene meinte ich nicht die Zeilennummer, sondern die Ebene im Verhältnis zum Mainscript

    In diesem Fall wäre Function in Ebene 2:

    Code
    Main
       |___ Func
              |___ Function

    Des weiteren funktioniert @ScriptLineNumber nicht in kompilierten Scripts

    Edit: Ich habe auch keinen Einfluß auf alle Funktionen, die vorher verschachtelt wurden, da nur die letzte von mir ist (UDF), sonst könnte ich ja einfach jedesmal einen Counter mitgeben...

    E

  • Von welcher Funktion wurde meine Funktion aufgerufen?

    • eukalyptus
    • 14. Juni 2010 um 08:20

    Hi

    Kann man in einer Funktion herausfinden, von wo aus diese Funktion aufgerufen wurde?

    [autoit]

    _Function()
    _Func()

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

    Func _Func()
    _Function()
    EndFunc

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

    Func _Function()
    ConsoleWrite("Parent: ") ;?
    EndFunc

    [/autoit]

    Consolenoutput sollte dann z.b. sein:

    Code
    Parent: Main Script
    Parent: _Func

    bzw. in welcher Ebene man sich gerade befindet?

    Code
    Level: 1
    Level: 2

    Bin für jeden Hinweis dankbar!

  • Voice over IP - Mikrofoneingang als Mp3 versenden und abspielen

    • eukalyptus
    • 13. Juni 2010 um 17:20

    Ich möchte euch mein Testscript vorstellen, mit dem ich meine neuen MemoryBuffer - Funktionen getested hab.

    Das Sender-Script kodiert den Mikrofoneingang als Mp3 und versendet die Daten via TCPSend
    Und das Empfänger-Script spiel das dann ab

    Wieder mal nur rudimentär umgesetzt und ganz ohne Errorhandling - wie gasagt nur zum testen ;)

    Vielleicht will ja jemand daraus einen Voice Chat basteln :party:
    Ich kann jedoch noch nicht versprechen, daß sich die Funktionen nicht mehr verändern (bis zum nächsten release der Bass.au3)

    Sender:

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_UseX64=n
    #include "Bass.au3"
    #include "BassEnc.au3"
    #include "BassExt.au3"

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

    $sIPADDRESS = "127.0.0.1"
    $iPORT = 1234

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

    OnAutoItExitRegister("_FreeBass")

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

    HotKeySet("{ESC}","_EXIT")

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

    _BASS_Startup()
    _BASS_ENCODE_Startup()
    _BASS_EXT_STARTUP()

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

    _BASS_RecordInit(-1)
    $hRecord = _BASS_RecordStart(44100, 2, 0, $BASS_EXT_RecordProc)

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

    $aBuffer=_BASS_EXT_MemoryBufferCreate()
    $hEncoder = _BASS_Encode_Start($hRecord, @ScriptDir & '\lame -r -x -b128 -h - -', 0, $BASS_EXT_EncodeProc, $aBuffer[0])

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

    TCPStartup()
    $iSocket = TCPListen($sIPADDRESS, $iPORT)

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

    $iPid=Run(@ScriptDir & "\TCP_receive.exe")

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

    $iAcceptSocket=-1
    While 1
    If $iAcceptSocket = -1 Then
    $iAcceptSocket=TCPAccept($iSocket)
    $iData=_BASS_EXT_MemoryBufferGetSize($aBuffer)
    _BASS_EXT_MemoryBufferGetData($aBuffer, $iData) ; solange keine Verbindung besteht -> buffer leeren
    ContinueLoop
    EndIf

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

    $iData=_BASS_EXT_MemoryBufferGetSize($aBuffer)
    If $iData Then
    $bMp3Data = _BASS_EXT_MemoryBufferGetData($aBuffer, $iData)
    $iSent=TCPSend($iAcceptSocket, $bMp3Data)
    ConsoleWrite("Bytes: " & BinaryLen($bMp3Data) & " / gesendet: " & $iSent & @CRLF)
    EndIf

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

    Sleep(50)
    WEnd

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

    Func _EXIT()
    Exit
    EndFunc

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

    Func _FreeBass()
    ProcessClose($iPid)
    TCPCloseSocket($iAcceptSocket)
    TCPShutdown()
    _BASS_Encode_Stop($hEncoder)
    _BASS_RecordFree()
    _BASS_Free()
    EndFunc

    [/autoit]


    Empfänger:

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_UseX64=n
    #include "Bass.au3"
    #include "BassEnc.au3"
    #include "BassExt.au3"

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

    $sIPADDRESS = "127.0.0.1"
    $iPORT = 1234

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

    OnAutoItExitRegister("_FreeBass")

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

    _BASS_Startup()
    _BASS_ENCODE_Startup()
    _BASS_EXT_STARTUP()

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

    _BASS_Init(0, -1, 44100, 0, "")

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

    $hStream = 0

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

    $aBuffer=_BASS_EXT_MemoryBufferCreate()

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

    TCPStartup()
    $ConnectedSocket = TCPConnect($sIPADDRESS, $iPORT)
    If $ConnectedSocket = -1 Then
    MsgBox(0,"",@error)
    Exit
    EndIf

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

    While 1

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

    $bMp3Data=TCPRecv($ConnectedSocket,4096*2)
    If BinaryLen($bMp3Data) > 0 Then
    _BASS_EXT_MemoryBufferAddData($aBuffer, $bMp3Data)
    If Not $hStream And _BASS_EXT_MemoryBufferGetSize($aBuffer) > 4096 Then
    $hStream=_BASS_StreamCreateFileUser($STREAMFILE_BUFFERPUSH, BitOR($BASS_STREAM_RESTRATE, $BASS_STREAM_BLOCK), $BASS_EXT_FILEPROCS, $aBuffer[2])
    _BASS_ChannelPlay($hStream, 1)
    EndIf
    EndIf
    ToolTip("TCP_REICIVE Buffer size: " & _BASS_EXT_MemoryBufferGetSize($aBuffer))
    If $hStream And _BASS_EXT_MemoryBufferGetSize($aBuffer) >= 4096 Then _BASS_EXT_StreamPutFileBufferData($hStream, $aBuffer)

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

    Sleep(50)
    WEnd

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

    Func _EXIT()
    Exit
    EndFunc

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

    Func _FreeBass()
    TCPCloseSocket($ConnectedSocket)
    TCPShutdown()
    _BASS_Free()
    EndFunc

    [/autoit]

    Alle benötigten Dateien sind im Anhang
    TCP_receive.au3 muß als EXE komiliert werden und dann einfach TCP_send.au3 starten

    Errors bitte gleich melden :thumbup:

    E

    Dateien

    VoIP.zip 418,71 kB – 533 Downloads
  • Audio Meter (Peak, VU, Stereoscope und Korrelationsgradmesser)

    • eukalyptus
    • 12. Juni 2010 um 11:09

    Danke für Euer Feedback!

    Informationen zu den Anzeigen:
    Schmaler Meter: Peak = tatsächlicher höchster Wert einer Sinusschwingung im Audiosignal
    (es werden nicht alle Daten analysiert, _BASS_ChannelGetLevel liest immer nur 20ms, deshalb können höhrere Werte evtl. übersehen werden)
    http://de.wikipedia.org/wiki/AussteuerungsmesserAbschnitt Spitzenpegelmesser

    Peak-LED: Es werden ALLE Audiodaten analysiert und wenn ein Spitzenwert 0.99 erreicht, dann leuchtet es.

    Breiter Meter: VU / RMS:
    http://de.wikipedia.org/wiki/AussteuerungsmesserAbschnitt Effektivwert-Pegelmesser
    http://de.wikipedia.org/wiki/Effektivwert
    http://de.wikipedia.org/wiki/VU_Meter

    Horizontaler Meter: Korrelationsgradmesser:
    http://de.wikipedia.org/wiki/Korrelationsgradmesser

    Krixelkraxel / Stereosichtgerät:
    http://de.wikipedia.org/wiki/Stereosichtger%C3%A4t
    hier eine richtig gute Tabelle: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    mfgE

    Dateien

    96kHz.de_Stereosichtger 142,14 kB – 1.242 Downloads
  • Audio Meter (Peak, VU, Stereoscope und Korrelationsgradmesser)

    • eukalyptus
    • 11. Juni 2010 um 23:22
    Zitat von UEZ


    Was zeigt uns denn der der untere horizontale Meter ( Korrelationsgradmesser?) an?

    Das ist das Verhältnis der Phasenlage von links und rechts.
    Vielleicht ist dir schon mal aufgefallen, daß eine Stereoanlage "komisch" klingt, wenn man bei einer Box die Kabel falsch angesteckt hat.
    Dann bewegt sich nämlich die Membran falsch - nämlich rein, wenn sie sich raus bewegen soll und umgekehrt.

    Setz dir mal Kopfhörer auf (dann hört man den Effekt am besten), starte das Script mit dieser Musikdatei und beobachte die Anzeige:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Dateien

    Phasentest.zip 1,02 MB – 479 Downloads
  • Audio Meter (Peak, VU, Stereoscope und Korrelationsgradmesser)

    • eukalyptus
    • 11. Juni 2010 um 22:23

    Ich schreibe grad an einer dll/udf für bass.dll

    In diese Dll sollen nach und nach Funktionen reinkommen, die in AutoIt nicht bzw. schwer zu realisieren sind.
    z.b.: den tatsächlichen maximalen Peak ermitteln (_BASS_ChannelGetLevel analysiert immer nur 20ms)
    Oder RMS-Level berechnen, Phasenkorrelation usw...

    Quasi aus einem Testscript ist dann dieser Audiometer entstanden.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.


    Viel Vergnügen!


    EDIT: neue Version:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Dateien

    AudioMeter2.jpg 75,81 kB – 0 Downloads Audiometer2.zip 166,4 kB – 1.038 Downloads AudioMeter.jpg 68,91 kB – 0 Downloads AudioMeter.zip 161,15 kB – 894 Downloads
  • Happy Birthday m-obi

    • eukalyptus
    • 9. Juni 2010 um 08:01

    Alles Gute *tröööööt*

  • Vergrößer/Verkleinerbares GDI Raster Ähnlich AutoCAD

    • eukalyptus
    • 9. Juni 2010 um 07:51

    Hi

    verwende die GDIp.au3 und male den Raster mit einem Path:

    Spoiler anzeigen
    [autoit]

    #include <GDIP.au3>
    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>

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

    Opt("GUIOnEventMode", 1)

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

    $iWidth = 800
    $iHeight = 600
    $nRaster = 10

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

    _GDIPlus_Startup()
    $hGui = GUICreate("Raster", $iWidth, $iHeight)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_EXIT")
    GUISetState()

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

    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    $hBmpBuffer = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $hGraphics)
    $hGfxBuffer = _GDIPlus_ImageGetGraphicsContext($hBmpBuffer)
    $hPen = _GDIPlus_PenCreate(0xFFFFFFFF)

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

    $hPath = _GDIPlus_PathCreate($FillModeWinding)
    For $i = 0 To 300
    _GDIPlus_PathAddLine($hPath, $i, 0, $i, 300)
    _GDIPlus_PathCloseFigure($hPath)
    _GDIPlus_PathAddLine($hPath, 0, $i, 300, $i)
    _GDIPlus_PathCloseFigure($hPath)
    Next
    $aBounds = _GDIPlus_PathGetWorldBounds($hPath)

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

    GUIRegisterMsg($WM_MOUSEWHEEL, "_WM_MOUSEWHEEL")
    GUIRegisterMsg($WM_PAINT, "WM_PAINT")
    GUIRegisterMsg($WM_ERASEBKGND, "WM_ERASEBKGND")

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

    _ReDrawBuffer()
    _WinAPI_RedrawWindow($hGui, 0, 0, 5)
    While 1
    Sleep(100)
    WEnd

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

    Func _ReDrawBuffer()
    _GDIPlus_GraphicsClear($hGfxBuffer, 0xFF000000)
    Local $hPathClone = _GDIPlus_PathClone($hPath)
    Dim $aPoints[5][2] = [[4, 0],[0, 0],[$iWidth * $nRaster, 0],[0, $iHeight * $nRaster],[$iWidth * $nRaster, $iHeight * $nRaster]]
    _GDIPlus_PathWarp($hPathClone, 0, $aPoints, $aBounds[0], $aBounds[1], $aBounds[2], $aBounds[3])
    _GDIPlus_GraphicsDrawPath($hGfxBuffer, $hPathClone, $hPen)
    _GDIPlus_PathDispose($hPathClone)
    EndFunc ;==>_ReDrawBuffer

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

    Func WM_PAINT($hWnd, $uMsgm, $wParam, $lParam)
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBmpBuffer, 0, 0)
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_PAINT

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

    Func WM_ERASEBKGND($hWnd, $uMsgm, $wParam, $lParam)
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBmpBuffer, 0, 0)
    Return True
    EndFunc ;==>WM_ERASEBKGND

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

    Func _WM_MOUSEWHEEL($hWnd, $Msg, $wParam, $lParam)
    Local $bDown = 1
    If BitShift($wParam, 16) > 0 Then $bDown = 0
    Switch $bDown
    Case 1
    $nRaster += 0.1
    Case Else
    $nRaster -= 0.1
    EndSwitch
    If $nRaster > 100 Then $nRaster = 100
    If $nRaster < 1 Then $nRaster = 1
    _ReDrawBuffer()
    _WinAPI_RedrawWindow($hWnd, 0, 0, 5)
    Return $GUI_RUNDEFMSG
    EndFunc ;==>_WM_MOUSEWHEEL

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

    Func _Exit()
    _GDIPlus_PathDispose($hPath)
    _GDIPlus_PenDispose($hPen)
    _GDIPlus_GraphicsDispose($hGfxBuffer)
    _GDIPlus_BitmapDispose($hBmpBuffer)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>_Exit

    [/autoit]

    mfgE

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™