![]() |
API VB Troubles BSP_GetFilename :? I've had very good luck with the API from VB so far, but am stumped on using the BSP_GetFilename API Call. Below is my VB code with a description of the setup and results. Any assistance is solving this conundrum would be appreciated. Setup: Bsplayer Ver 0.86 Build 501 16 Sep 2003 Running and playing .avi file named "BetterOffDead.avi" VB Code: Dim cds As COPYDATASTRUCT Dim sbuf As String bsp_hand = FindWindow("BSPlayer", vbNullString) 'Get filename sbuf = String$(MAX_PATH, vbNullChar) cds.dwData = BSP_GetFileName cds.lpData = VarPtr(sbuf) cds.cbData = 4 SendMessage bsp_hand, WM_COPYDATA, Me.hwnd, cds Output: sbuf = "????????????????" with the remainder of the buffer filled with the null character. This tells me that the message to BSPlayer is being recieved, and the buffer is being modified, but the result back is all '?' and not the name of the file. By the way there is 1 too few '?' for 'BetterOffDead.avi'. I was thinking there might be Unicode vs ASCII characters issue. I'm stumped. -Steven |
smorrowatwork, did you manage to find out how to get bsplayer's version using api? |
Yes, and it works. According to the API the return value is the version number. // BSPlayer API v 1.0 // // To get BSPlayer window handle use: // bsp_hand = FindWindow("BSPlayer",vbNullString) // // then you can send messages, for ex. to get current version: // bsp_ver = SendMessage(bsp_hand,WM_BSP_CMD,BSP_GETVERSION,0) ' Return player version ' format will be XX.YY.ZZZZ -> &HXXYYZZZZ ' for 0.84.484 -> &H00840484 However the BSP_GetFilename message uses a pointer to a buffer to contain the filename. The buffer gets filled with a few '?' instead of the filename. -smorrowatwork |
All times are GMT +1. The time now is 11:27 PM. |
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
Ad Management plugin by RedTyger