Official BS.Player forums

Official BS.Player forums (http://forum.bsplayer.com/)
-   General Talk And Support (http://forum.bsplayer.com/general-talk-support/)
-   -   API/SDK With C# -> OpenFile ? (http://forum.bsplayer.com/general-talk-support/7756-api-sdk-c-openfile.html)

Grimster 11th August 2006 11:02 AM

API/SDK With C# -> OpenFile ?
 
Hi,

I'm trying to use the BSPlayer API with C#, I can get everything working.. but i'm stuck on the OpenFile method.

I can't get the cds.lpData part right with the address of the filename.

Does anybody allready know the anwser? I tried searching, and found the same problem... but no answer.

Thanx,

Grim

Tizio 22nd August 2006 10:47 AM

Since I don't think you mean to create a plugin for BSplayer v0.8x but instead you want to create a plugin for v1.00+ you can try to use this simpler command:
SendMessage(bsp_hand,WM_BSP_CMD,BSP_OpenFile,"File Name");

Grimster 22nd August 2006 12:28 PM

Didn't do the trick
 
Hi thanks for replying,

Don't know why I didn't try it like that, but when I use the given command BSPlayer crashes. Doesn't bsplayer expect a COPYDATASTRUCT as the object instead of the Filename string?

Tizio 22nd August 2006 08:04 PM

Hi, I tried to use that command with VisualBasic and I had an error message too :?
Probably I really lack of programming knowledge if I'm not able to make it work that way if I don't use C++...

This is the WORKING routine that I use with VB, I hope you'll find it useful (lines starting with ' are comments):
Code:

Public Sub BSPOpenFile(FileName As String)
    Dim cds As COPYDATASTRUCT
   
    'Find BSplayer window's handle
    bsp_hand = FindWindow("BSPlayer", 0&)
    'If BSplayer is running -> window found
    If bsp_hand <> 0 Then
           
        'Set OpenFile as action
        cds.dwData = BSP_OpenFile
        'Create and set the pointer to the file name string
        '(VB doesn't provide pointers like C does)
        cds.lpData = lstrcpy(FileName, FileName)
        'Set the string lenght
        cds.cbData = Len(FileName) + 1
       
        'Open the selected file
        ReturnCode = SendMessage(bsp_hand, WM_COPYDATA, 0&, cds)
       
    End If
End Sub

EDIT:
Almost forgot, if you use WM_BSP_CMD instead of WM_COPYDATA in the send message call BSplayer knows that you are sending a command and not a copydatastruct :wink:


All times are GMT +1. The time now is 03:25 AM.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
Ad Management plugin by RedTyger


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20