home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
Products
IR Server Suite (IRSS)
Translator and PowerDVD 8
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="sonix1977nl" data-source="post: 372458" data-attributes="member: 76936"><p>Hi there,</p><p></p><p>I use the Translator of the IR Server Suite to map the buttons on my remote to certain key combinations, so that I can control PowerDVD 8 Ultra with my remote. Unfortunately, as soon as I start a blu-ray disc, the translator stops sending key combinations to the PowerDVD process.</p><p></p><p>I have been doing some digging in the code and came up with the following reason.</p><p></p><p>- When a key press (on the remote) event is sent to Translator, it gets the foreground window.</p><p>- Then it gets the PID that belongs to that window.</p><p>- Using the .NET Process class it gets the process by that PID.</p><p>- It uses the MainModule property on the Process class to get the full executable path of that process.</p><p>- It then maps that full executable path to find the appropriate mapping to use.</p><p></p><p>The problem with this implementation is that Vista has introduced something called protected processes. As soon as PowerDVD starts playing a blu-ray disc, it converts itself to a protected process. It is impossible to get any module information on a protected process, so the Process.MainModule property will fail horribly. Thus it can't get the full executable path. And without that, Translator can't find the appropriate mapping to use.</p><p></p><p>Getting the process name on a protected process is still possible. So would it be possible to refactor this, so that you can specify the process name instead of the full executable path. I guess the protected process shit is the reason why the PowerScheduler plugin in TV Server lets you specify the process names of process which should prevent putting the PC to sleep.</p><p></p><p>PS: I do love the flexibility of the IR Server Suite. Good work. <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile :)" loading="lazy" data-shortname=":)" /></p></blockquote><p></p>
[QUOTE="sonix1977nl, post: 372458, member: 76936"] Hi there, I use the Translator of the IR Server Suite to map the buttons on my remote to certain key combinations, so that I can control PowerDVD 8 Ultra with my remote. Unfortunately, as soon as I start a blu-ray disc, the translator stops sending key combinations to the PowerDVD process. I have been doing some digging in the code and came up with the following reason. - When a key press (on the remote) event is sent to Translator, it gets the foreground window. - Then it gets the PID that belongs to that window. - Using the .NET Process class it gets the process by that PID. - It uses the MainModule property on the Process class to get the full executable path of that process. - It then maps that full executable path to find the appropriate mapping to use. The problem with this implementation is that Vista has introduced something called protected processes. As soon as PowerDVD starts playing a blu-ray disc, it converts itself to a protected process. It is impossible to get any module information on a protected process, so the Process.MainModule property will fail horribly. Thus it can't get the full executable path. And without that, Translator can't find the appropriate mapping to use. Getting the process name on a protected process is still possible. So would it be possible to refactor this, so that you can specify the process name instead of the full executable path. I guess the protected process shit is the reason why the PowerScheduler plugin in TV Server lets you specify the process names of process which should prevent putting the PC to sleep. PS: I do love the flexibility of the IR Server Suite. Good work. :) [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
Products
IR Server Suite (IRSS)
Translator and PowerDVD 8
Contact us
RSS
Top
Bottom