XBMC.System.ExecWait
#1
I don't have a clue how to program, but I am willing to try an learn. Can someone point me to the file that has the XBMC.System.ExecWait code in it? I want to tinker on my own to see if I can get it to launch an external app without minimizing XBMC and force the launched app to be on top. I'll probably never figure it out, but heck it's worth a try. It's the only thing keeping me from running XBMC full time on my HTPC.
Reply
#2
It is in xbmc/Win32/CWIN32Util.cpp

The method is: CWIN32Util::XBMCShellExecute() @ row 333.
It is called from xbmc/Util.cpp and the method ExecBuiltin()
Good luck!

Cheers,
Tobias.
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#3
Topfs2 Wrote:It is in xbmc/Win32/CWIN32Util.cpp

The method is: CWIN32Util::XBMCShellExecute() @ row 333.
It is called from xbmc/Util.cpp and the method ExecBuiltin()
Good luck!

Cheers,
Tobias.
Thanks! I'll need it.
Reply
#4
Note that we don't have much possibilities in transferring parameters afaik so you might have to define new commands to archive what you want if you want to preserve the old ones.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#5
WiSo Wrote:Note that we don't have much possibilities in transferring parameters afaik so you might have to define new commands to archive what you want if you want to preserve the old ones.
Well I was looking thru the TRAC at the extPlayer patches and what has been committed to SVN. It has a forceontop argument that is supposed to force the extplayer ontop of XBMC. I was hoping this same method could be used for launching other applications.
Reply
#6
To force a window to be on top, you can try the following:

1) Increase the Z-order of the window
2) Activate the window
Reply
#7
CrashX Wrote:To force a window to be on top, you can try the following:

1) Increase the Z-order of the window
2) Activate the window
I assume you mean both of these by code? I tried doing it with EventGhost's window controls, but XBMC just continually pushes itself to the top. I just need to be able to launch/switch applications without XBMC minimizing, but allowing it to go to the back. It used to do this long ago when the launcher plugin was first started. But then something changed, and it no longer works like this. I may have to dig back thru some old SVN builds and see where it changed and maybe I can browse thru the changes to see how I can mod it.

The current way it works is fine for applications that are launched that are truly closed. When launching apps that are "hidden" in the system tray and are just being maximized it doesn't work so well.
Reply
#8
kricker Wrote:Well I was looking thru the TRAC at the extPlayer patches and what has been committed to SVN. It has a forceontop argument that is supposed to force the extplayer ontop of XBMC. I was hoping this same method could be used for launching other applications.

This are two different things. ofc it's codeable but afaik our implementation of the python commands doesn't allow multiple arguments. That said you need a new command for every new functionality.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#9
kricker Wrote:The current way it works is fine for applications that are launched that are truly closed. When launching apps that are "hidden" in the system tray and are just being maximized it doesn't work so well.

Yup using code via win32 api SetWindowPos ..
Reply
#10
I just got hit with a deluge of work, which is great because things have been extremely slow for a year. Anyhow, that means this will have to wait for now. Sad
Reply
#11
Is this the reason why XBMC tries to force itself to topmost?
http://trac.xbmc.org/changeset/17687
Reply
#12
hi there kricker,
sorry to resurrect an old thread, but have you been able to figure out how to stop XBMC from minimizing when launching an external application (cmd).

I have been messing around with ShowWindow and the various attributes it holds. I'm currently building a SW_SHOWNA to see if that allows xbmc to remain behind the app in a nonactive state.

I will also look more into SetWindowPos as mentioned by CrashX
Reply
#13
As far as I know based on how the DX nature of it works you can't do it.
Reply
#14
oh ok, bummer.

I've found something that might be of interest, Direct3D Hooking and proxy DLLs

http://www.gamedev.net/community/forums/..._id=359794

Still reading up on proxy dlls, but I'm not entirely sure if we can load entire applications on top of fullscreen DX. They have an example where they're painting on top. Tried on DX3D11 win7..working.
Now to implement with xbmc..
Reply
#15
I'm on the edge of my seat. I hope it works.
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC.System.ExecWait0