Here's the problem:
I am writing a secure kiosk style "shell" application with its own desktop and taskbar, for use in bar entertainment rental systems. For security, I need the taskbar, start menu, notification area, etc of the operating system to remain hidden from the client at all times.
It all works perfectly except for one third-party media-player app which absolutely insists on calling the windows taskbar whenever it loads. That media-player is central to the project, so I can't abandon it, its original programmer is unavailable for comment, and I don't have the source-code for it (which was written in C++ using the Bass Player Library).
Here's what I've tried so far and the results:
1) 2 different ways of hiding the Windows taskbar and Start Globe, with internal code and an external application. - The offending program "unhid" the whole lot on start-up and flashed its icon at me. (Both ways work fine for every other app in the kiosk.)
2) Embedding the app as a process in my kiosk software. - It still unhid the taskbar and flashed its icon, even though it was no longer "unowned"
3) Running the kiosk app as a shell in place of explorer (which is the way it is intended to function). - The program stalls when it gets to the point where it is trying to access the taskbar.
4) "Taskkill" windows explorer after loading the kiosk app. - The program once again stalls when it gets to the point where it is trying to access the taskbar.
I've come to the conclusion that what I need to do is somehow catch the calls from the third-party app to the taskbar and redirect or dispose them, possibly allowing the app to display its icon on my kiosk taskbar instead of the Windows taskbar, but I'm not sure how to do it. My research has thrown up something called the "Shellproc callback function", which may be the answer, but everything I can find about it relates to C++ (of which I have no experience whatsoever), nothing in VB.Net or even C#, so the more I read the more confused I'm getting! The ideal would be for my kiosk's taskbar to take over the full function of the Windows taskbar, but I don't know if that would be asking too much. The minimum acceptable workaround would be, when the Windows taskbar pops up, it does so in a locked condition, such that even though it is showing, it is "unclickable".
Can anyone tell me if what I need to do is even achievable in VB.Net, and, if so, maybe give me a bit of starter code or at least a pointer in the right direction?