ViSiToR

Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору gregaz 22:55 09-05-2008 [?] Цитата: как внести в окно Winamp для проигрывания конкретный файл(ы) | Поискал немного по оф. форуму и MSDN, у меня вроде что-то получилось: Код: ;;; Global Const $IPC_ENQUEUEFILE = 100 ;Adds File to PlayList ;;; _Winamp_AddFile("D:\Astrix.mp3") ;=============================================================================== ; ; Function Name: _Winamp_AddFile() ; ; Function Description: Add specific file path to Winamp's PlayList. ; ; Parameter(s): $sFilePath - Full file path to add to the playlist. ; ; Requirement(s): None. ; ; Return Value(s): On Success - Adds file to Winamp's PlayList and return 1. ; On Failure - Return 0 and set @error to: ; 1 - Unable to find Winamp window, probably winamp isn't runing. ; 2 - SendMessage fail. ; ; Author(s): G.Sandler (a.k.a CreatoR) - CreatoR's Lab (http://creator-lab.ucoz.ru) ; ;===================================================================== Func _Winamp_AddFile($sFilePath) Local $hWinamp = WinGetHandle($sWINAMP_CLASS) If Not IsHWnd($hWinamp) Then Return SetError(1, 0, 0) Local $iFilePathSize = StringLen($sFilePath) + 1 Local $stMem = DllStructCreate("char[" & $iFilePathSize & "]") For $i = 0 To $iFilePathSize DllStructSetData($stMem, 1, Asc(StringMid($sFilePath, $i, 1)), $i) Next DllStructSetData($stMem, 1, 0, $iFilePathSize) ;; Create the COPYDATASTRUCT ;; Local $stCopyData = DllStructCreate("uint;uint;ptr") DllStructSetData($stCopyData, 1, $IPC_ENQUEUEFILE) ;dwData = $IPC_ENQUEUEFILE = 100 DllStructSetData($stCopyData, 2, ($iFilePathSize * 2)) ;cbData = Size of the message DllStructSetData($stCopyData, 3, DllStructGetPtr($stMem)) ;lpData = Pointer to the message DllCall("user32.dll", "int", "SendMessage", "hwnd", $hWinamp, _ "int", $WM_COPYDATA, "int", 0, "ptr", DllStructGetPtr($stCopyData)) If @error Then Return SetError(2, 0, 0) Return 1 EndFunc ;==>_Winamp_AddFile | Цитата: Хотелось бы иметь ф-ию , подобную SoundPlay ( "filename" [,wait]) - с возможностью ожидания завершения проигрывания файла | Это можно построить из уже имеющихся функции. Или имеется в виду проигрывание файла не в списке?
---------- ViSiToR a.k.a CreatoR CreatoR это не ник, CreatoR это стиль жизни! |
|