ich hab eine frage :wie krig ich aus dem traymenü raus das er scriptpaused macht
tray
-
- [ offen ]
-
JuraX -
12. Februar 2010 um 16:09 -
Geschlossen -
Erledigt
-
-
versuch das mal:
[autoit]Opt("TrayMenuMode",1)
[/autoit] -
ganz einfach^^
[autoit]
[/autoit]
Opt("TrayAutoPause",0)
[autoit]
Edit1: Grr war wieder jamand schneller
Edit2: PCKing das muss auf 0 stehen weil ja deaktiviert
Edit3: nee jett bin ich voll verwirrt
Edit4: ok jetzt hab ichs... am besten sit das hier:
[/autoit]
Opt("TrayAutoPause",0)
Opt("TrayMenuMode",1) -
bei
[autoit]Opt("TrayAutoPause",0)
[/autoit]deaktiviert er das nur und bei
[autoit]Opt("TrayMenuMode",1)
[/autoit]löscht der alles, was vorher in der liste steht
-
hat jmd ne idee was hier falsch ist
[autoit]$tmsg = TrayGetMsg()
[/autoit]
Switch $tmsg
Case $totray
$totray = "IN"
Case $totray = "in" And $tmsg = $totray
GUISetState(@sw_show)
EndSwitch -
Ich glaube Autoit is nicht CaseSense, du musst beide in's "in" machen.
-
autoit ist case sense wenn man statt = ein == verwendet
-
wofür muss es denn case sensitive sein?
oder steh ich aufm schlauch? -
ka hatte nur den letzten post gelesen sry^^
was genau willst du denn mit dem switch machen.
problem beschreiben wäre gut -
Wenn du eine Variable $x="IN" deklarierst/zuweist und dann abfragst: $x="in" dann gibt Autoit False, wie Schnitzel gesagt hast musst du Abfrage $x=="in" machen oder $x="in" für Zuweisung und Abfrage.
Schnitzel
Er wollte Wissen warum sein Script oben nicht funktioniertEDIT:
Casesense muss es sein wenn "in" mit "IN" vergleichst, wenn es nicht casesense ist dann sind das verschiedene Strings -
hier vieleicht ist das übersichtlicher
[autoit]
[/autoit][autoit][/autoit][autoit]
#Region OPT
Opt("TrayMenuMode",1)
#EndRegion#Region Tray
[/autoit][autoit][/autoit][autoit]
$totray = TrayCreateItem("In den Tray")
TraySetState()
#EndRegion$width = 380
[/autoit][autoit][/autoit][autoit]
$height = 650
$hwnd = GUICreate("INRadio-Localtuner", $width, $height, -1, -1, Default, $WS_EX_ACCEPTFILES)
$Close = GUICtrlCreateButton("Close", 296, 160, 75, 25, 0)
$Play = GUICtrlCreateButton("Play", 216, 160, 75, 25, 0)
$Stop = GUICtrlCreateButton("Stop", 136, 160, 75, 25, 0)
$newfile = GUICtrlCreateButton("Andere Datei", 36, 160, 75, 25, 0)
$progress_slider = GUICtrlCreateProgress(8, 32, 236, 20)
$slots = GUICtrlCreateLabel(GUICtrlRead($progress_slider), 8, 8, 150, 17)
$ordner = GUICtrlCreateButton("Neue Bibliothek",136,330)
GUICtrlCreateLabel("Lautstärke", 8, 190, 80, 20)
$Volume_slider2 = GUICtrlCreateSlider(8, 250, 366, 80)
$hListView = GUICtrlCreateListView('Dateiname|Pfad', 10, 375, 350, 200)$rightVol = GUICtrlCreateProgress(8, 88, 236, 17)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
GUICtrlSetLimit(-1, 100, 0)
GUICtrlCreateLabel("Right Channel Volume Level", 8, 112, 150, 17)
$LeftVol = GUICtrlCreateProgress(8, 136, 236, 17)
GUICtrlSetLimit(-1, 100, 0)
GUICtrlCreateLabel("Left Channel Volume Level", 8, 64, 150, 17)GUISetState()
[/autoit][autoit][/autoit][autoit]While (True)
[/autoit]
$Msg = GUIGetMsg()
$tmsg = TrayGetMsg()
Switch $tmsg
Case $totray
$totray = "IN"
Case $totray = "in" And $tmsg = $totray
GUISetState(@sw_show)
EndSwitch
Switch $Msg
Case $Close ;$GUI_EVENT_CLOSE
EXITF()
Case $totray = "In"
GUISetState(@sw_hide)
EndSwitch
WEnd -
in ersetzen funktioniert auch nicht
es schließt und öffnet sich immer wieder -
Erstmal fehlt da die Funktion EXITF().
Dann würde ich Case $Close,$GUI_EVENT_CLOSE statt nur $close machen.
Es fehlen die Includes.Ich weiß nicht genau, ob das nicht nur nicht kopiert wurde.
-
hier das ganze script
[autoit]#include <Bass.au3>
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#NoTrayIcon;===================================================================================================
[/autoit][autoit][/autoit][autoit]
; INRadio-Localtuner by JuraX
;===================================================================================================
Global $totray = ""
Global $aItem[2]#Region StartUp
[/autoit][autoit][/autoit][autoit][/autoit][autoit]#Region OPT
[/autoit][autoit][/autoit][autoit]
Opt("TrayMenuMode",1)
#EndRegion#Region Tray
[/autoit][autoit][/autoit][autoit]
$totray = TrayCreateItem("In den Tray")
TraySetState()
#EndRegion#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
#AutoIt3Wrapper_Res_Field=INR|Jurax-Multimedia
#AutoIt3Wrapper_Res_Field=ProductVersion|1.3
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****;Bass StartUp
[/autoit][autoit][/autoit][autoit]
_BASS_STARTUP(@ScriptDir & "\BASS.dll")
_BASS_Init(0, -1, 44100, 0, "")If @error Then
[/autoit][autoit][/autoit][autoit]
MsgBox(0, "Error", "Sound konnte nicht Initialisiert werden!")
Exit
EndIf#Region Register
[/autoit][autoit][/autoit][autoit]
;GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
#EndRegion
#EndRegion StartUp#Region GUI
[/autoit][autoit][/autoit][autoit]
$width = 380
$height = 650
$hwnd = GUICreate("INRadio-Localtuner", $width, $height, -1, -1, Default, $WS_EX_ACCEPTFILES)
$Close = GUICtrlCreateButton("Close", 296, 160, 75, 25, 0)
$Play = GUICtrlCreateButton("Play", 216, 160, 75, 25, 0)
$Stop = GUICtrlCreateButton("Stop", 136, 160, 75, 25, 0)
$newfile = GUICtrlCreateButton("Andere Datei", 36, 160, 75, 25, 0)
$progress_slider = GUICtrlCreateProgress(8, 32, 236, 20)
$slots = GUICtrlCreateLabel(GUICtrlRead($progress_slider), 8, 8, 150, 17)
$ordner = GUICtrlCreateButton("Neue Bibliothek",136,330)
GUICtrlCreateLabel("Lautstärke", 8, 190, 80, 20)
$Volume_slider2 = GUICtrlCreateSlider(8, 250, 366, 80)
$hListView = GUICtrlCreateListView('Dateiname|Pfad', 10, 375, 350, 200)$rightVol = GUICtrlCreateProgress(8, 88, 236, 17)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
GUICtrlSetLimit(-1, 100, 0)
GUICtrlCreateLabel("Right Channel Volume Level", 8, 112, 150, 17)
$LeftVol = GUICtrlCreateProgress(8, 136, 236, 17)
GUICtrlSetLimit(-1, 100, 0)
GUICtrlCreateLabel("Left Channel Volume Level", 8, 64, 150, 17)GUISetState()
[/autoit][autoit][/autoit][autoit]
#EndRegion GUI
#cs
#Region GDIstartup
_GUICtrlListView_SetColumnWidth($hListView, 0, $LVSCW_AUTOSIZE)
_GDIPlus_Startup()
$iX = 120
$iY = 145
$graphics = _GDIPlus_GraphicsCreateFromHWND($hwnd)
$bitmap = _GDIPlus_BitmapCreateFromGraphics($iX, $iY, $graphics)
$backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
_GDIPlus_GraphicsClear($backbuffer)
$pen1_size = 4
$pen1 = _GDIPlus_PenCreate(0, $pen1_size)
$pen2_size = 4
$pen2 = _GDIPlus_PenCreate(0, $pen2_size)
$pen3_size = 3
$pen3 = _GDIPlus_PenCreate(0, $pen3_size)$fall_speed_l_threshold = 0
[/autoit][autoit][/autoit][autoit]
$fall_speed_r_threshold = 0
$equalizer_width = 24
$max_l = 0
$max_r = 0
$fall_speed = 5
$fire_up = 15$fft_start = 7
[/autoit][autoit][/autoit][autoit]
$fft_end = 127
$fft_boost = 750
$dy = Int($iY / ($fft_end - $fft_start)) + $pen3_size
$dyy = Int($iY / $dy / 2)
$eq = -1
Dim $mpos[2]
#EndRegion
#ce
#Region Loop
While (True)
$Msg = GUIGetMsg()
$tmsg = TrayGetMsg()
Switch $tmsg
Case $totray
$totray = "in"
Case $totray = "in" And $tmsg = $totray
GUISetState(@sw_show)
EndSwitch
Switch $Msg
Case $Close ;$GUI_EVENT_CLOSE
EXITF()
Case $totray = "in"
GUISetState(@sw_hide)
EndSwitch
WEnd
#EndRegion Loop
#cs
#Region Func'sFunc WM_DROPFILES_FUNC($hWnd, $msgID, $wParam, $lParam);Um mehrere Dateien gleichzeitig droppen zu könen
[/autoit][autoit][/autoit][autoit]
Local $nSize, $pFileName
Local $nAmt = DllCall('shell32.dll', 'int', 'DragQueryFileW', 'hwnd', $wParam, 'int', 0xFFFFFFFF, 'ptr', 0, 'int', 255)For $i = 0 To $nAmt[0]
[/autoit][autoit][/autoit][autoit]
$nSize = DllCall('shell32.dll', 'int', 'DragQueryFileW', 'hwnd', $wParam, 'int', $i, 'ptr', 0, 'int', 0)
$nSize = $nSize[0] + 1
$pFileName = DllStructCreate('wchar[' & $nSize & ']')
DllCall('shell32.dll', 'int', 'DragQueryFileW', 'hwnd', $wParam, 'int', $i, 'ptr', DllStructGetPtr($pFileName), 'int', $nSize)
$filename = DllStructGetData($pFileName, 1) ;Dateinamen holen
ConsoleWrite($filename & @CRLF)
ReDim $gaDropFiles[$i + 1]
$gaDropFiles[$i] = $filename
$pFileName = 0
Next
;_ArrayDisplay($gaDropFiles)
For $i = 0 To UBound($gaDropFiles) - 2 ;kommt derzeit immer noch ein leerer Eintrag am schluss
GUICtrlCreateListViewItem(StringRegExpReplace($gaDropFiles[$i], '.*\\(.*)\..*', '$1')& "|" & $gaDropFiles[$i], $hListView)
Next
_GUICtrlListView_SetColumnWidth($hListView, 0, $LVSCW_AUTOSIZE) ;erst wenn alle eigefügt sind
EndFunc ;==>WM_DROPFILES_FUNCFunc Aktualisieren()
[/autoit][autoit][/autoit][autoit]
EndFunc ;==>AktualisierenFunc WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam);Für Doppelcklick Erkennung
[/autoit][autoit][/autoit][autoit]
Local $tagNMHDR, $event, $hwndFrom, $code
$tagNMHDR = DllStructCreate("int;int;int", $lParam)
If @error Then Return 0
$code = DllStructGetData($tagNMHDR, 3)
If $wParam = $hListView And $code = -3 And _GUICtrlListView_GetSelectedCount($hListView) > 0 Then
For $i = 0 To _GUICtrlListView_GetItemCount($hListView)
IF _GUICtrlListView_GetItemSelected($hListView, $i) Then
$aItem = _GUICtrlListView_GetItemTextArray($hlistview, $i)
;~ In aItem[1] steht der Dateiname und in $aItem[2] der Pfad zincl. Dateinamen
_LeftDblClick()
EndIf
Next
Endif
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFFunc _LeftDblClick()
[/autoit][autoit][/autoit][autoit]
_BASS_ChannelStop()
$File = $aItem[2]
$MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
_BASS_ChannelPlay(, 0)
EndFunc ;==>_LeftDblClickFunc Display_Vis($eq = 1)
[/autoit][autoit][/autoit][autoit]
_GDIPlus_GraphicsClear($backbuffer, 0x80F0F0F0)
If $eq > 0 Then
$levels = _BASS_ChannelGetLevel($MusicHandle)
$LeftChLvl = $leftChLvlper ;Round(_HiWord($levels) / $iY, 0)
$RightChLvl = $rightChLvlper ;Round(_LoWord($levels) / $iY, 0)If $max_l <= $LeftChLvl Then ;fire up higest line
[/autoit][autoit][/autoit][autoit]
$max_l = $LeftChLvl + $fire_up
$fall_speed_l_threshold = 20
Else
If $fall_speed_l_threshold <= 0 Then ;increase fall speed of highest line faster until threshold is <= 0 (second fall part)
If $max_l > $LeftChLvl + $pen2_size * 2 Then $max_l -= $fall_speed
Else
$fall_speed_l_threshold -= 1 ;increase fall speed of highest line by slower until threshold is <= 0 (first fall part)
If $max_l > $LeftChLvl + $pen2_size * 2 Then $max_l -= $fall_speed / 3
EndIf
EndIfIf $max_r <= $RightChLvl Then
[/autoit][autoit][/autoit][autoit]
$max_r = $RightChLvl + $fire_up
$fall_speed_r_threshold = 20
Else
If $fall_speed_r_threshold <= 0 Then
If $max_r > $RightChLvl + $pen2_size * 2 Then $max_r -= $fall_speed
Else
$fall_speed_r_threshold -= 1
If $max_r > $RightChLvl + $pen2_size * 2 Then $max_r -= $fall_speed / 3
EndIf
EndIf
_BASS_ChannelGetData($MusicHandle, DllStructGetPtr($fftstruct), $BASS_DATA_FFT256)
For $i = $fft_start To $fft_end Step $dy
$fft = Round(DllStructGetData($fftstruct, 1, $i + 1) * $fft_boost)
$r = (-(Cos(1.7 * $fft / 256) + 1) * 0.5) * 256
$g = ((Cos(4 * $fft / 256) + 1) * 0.5) * 256
$b = 0
_GDIPlus_PenSetColor($pen3, "0xFF" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2))
_GDIPlus_GraphicsDrawLine($backbuffer, $iX / 5, $i + $dyy, $iX / 5 + $fft, $i + $dyy, $pen3)
Next
EndIf
_GDIPlus_GraphicsDrawImageRect($graphics, $bitmap, $width - $iX - 10, 8, $iX, $iY)
EndFunc ;==>Display_VisFunc _SoundGetWaveVolume()
[/autoit]
Local $WaveVol = -1, $p, $ret
Const $MMSYSERR_NOERROR = 0
$p = DllStructCreate ("dword")
If @error Then
SetError(2)
Return -2
EndIf
$ret = DllCall("winmm.dll", "long", "waveOutGetVolume", "long", -1, "long", DllStructGetPtr ($p))
If ($ret[0] == $MMSYSERR_NOERROR) Then
$WaveVol = Round(Dec(StringRight(Hex(DllStructGetData ($p, 1), 8), 4)) / 0xFFFF * 100)
Else
SetError(1)
EndIf
$p=""
Return $WaveVol
EndFunc ;==>_SoundGetWaveVolume
#ce
Func EXITF()
_GDIPlus_PenDispose($pen1)
_GDIPlus_PenDispose($pen2)
_GDIPlus_PenDispose($pen3)
_GDIPlus_BitmapDispose($bitmap)
_GDIPlus_GraphicsDispose($graphics)
_GDIPlus_GraphicsDispose($backbuffer)
_GDIPlus_Shutdown()
Exit
EndFunc ;==>EXITF
MsgBox(0,"",$Totray)
#EndRegion -
kennt sich niemand mit dem tray aus
-
wenndann musst dus schon eher so verwenden...
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#Region OPT
Opt("TrayMenuMode", 1)
#EndRegion OPT#Region Tray
[/autoit] [autoit][/autoit] [autoit]
$totray = TrayCreateItem("Show")
TraySetState()
#EndRegion Tray$width = 380
[/autoit] [autoit][/autoit] [autoit]
$height = 650
$hwnd = GUICreate("INRadio-Localtuner", $width, $height, -1, -1, Default, $WS_EX_ACCEPTFILES)
$Close = GUICtrlCreateButton("Close", 296, 160, 75, 25, 0)
$Play = GUICtrlCreateButton("Play", 216, 160, 75, 25, 0)
$Stop = GUICtrlCreateButton("Stop", 136, 160, 75, 25, 0)
$newfile = GUICtrlCreateButton("Andere Datei", 36, 160, 75, 25, 0)
$progress_slider = GUICtrlCreateProgress(8, 32, 236, 20)
$slots = GUICtrlCreateLabel(GUICtrlRead($progress_slider), 8, 8, 150, 17)
$ordner = GUICtrlCreateButton("Neue Bibliothek", 136, 330)
GUICtrlCreateLabel("Lautstärke", 8, 190, 80, 20)
$Volume_slider2 = GUICtrlCreateSlider(8, 250, 366, 80)
$hListView = GUICtrlCreateListView('Dateiname|Pfad', 10, 375, 350, 200)$rightVol = GUICtrlCreateProgress(8, 88, 236, 17)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetLimit(-1, 100, 0)
GUICtrlCreateLabel("Right Channel Volume Level", 8, 112, 150, 17)
$LeftVol = GUICtrlCreateProgress(8, 136, 236, 17)
GUICtrlSetLimit(-1, 100, 0)
GUICtrlCreateLabel("Left Channel Volume Level", 8, 64, 150, 17)GUISetState()
[/autoit] [autoit][/autoit] [autoit]While (True)
[/autoit]
$Msg = GUIGetMsg()
$tmsg = TrayGetMsg()
Switch $tmsg
Case $totray
GUISetState(@SW_SHOW)
EndSwitch
Switch $Msg
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE)
EndSwitch
WEnd