Hi,
I've been looking for ways to automate the EPG update process. There is no easy way that I found in which you could run MegaEPG, and after that make MCE EPG run and autoupdate.
I have an idea, where you can combine some extra code in MegaEPG.exe, or make another *.exe (which will be ran by MegaEPG.exe after it is finished with the downloading).
Basically you can edit the registry and set a time at which MCE will run the EPG update. The problem here is that there is a process you need to kill and restart to make it pick up the registry change.
I have written a piece of C++ code (WinAPI) which allows you to control other application's processes. This way you could use the standard process of scheduling MegaEPG.exe to run once a day and update its list. Then you change the registry to run MCE EPG update 2-3 minutes later. Then you could kill the responsible process using my code and then restart it (which is not hard). This would completely automate the update process for Windows Media Center 2005 (I don't know anything about Vista MC).
It shouldn't be hard at all to implement. It would be great if we could work together maybe and make this happen.
It could mean an automatic and very painless auto-update for our EPGs with only one scheduled task in windows. No more headaches with 3rd party apps to change the time\date when you want MCE to auto-update, and then rebooting your system, or restarting the process manually. Or even manually going into MCE and updating the EPG.
Automation is the future, but work needs to be done to really make it happen :)
What do you think?
This sounds really nice. I
This sounds really nice. I was thinking about something similar but more "native": to control the MCE EPG update via the MCE API. I just currently have no time to accomplish this task, the API is not really documented. Killing a system process may cause problems in Vista since the update task there is responsible for other updates and clean-ups in addition to the EPG update. But in general the idea is really cool,we should definitely implement it.
Great, for starters I'll
Great, for starters I'll make a really small *.exe that will kill\rerun the scheduler. Then we'll be able to simply make a small batch file which runs MegaEPG first, then my app runs and schedules windows to download a guide a minute or two from the time the app ran.
I would just recommend not to use this on Vista, at least not before we find a different solution anyway.
Just a little update...It
Just a little update...
It appears that when you set the EPG to update at a certain time, it always updates once a day at that time!
This means that there is no need for my idea at all.
In addition, the process that needs to be killed is a protected process, and it is a lot of work to being grantec the rights to kill it.
And I have no idea how to restart it either, because simply executing it doesn't work.
In short, this idea is not really needed. After you manually chose the time you want EPG to update, it will always update automatically at the same time every day.
It doesn't make much sense
It doesn't make much sense to update it more than once a day since MCE updates EPG once a day as well.
I'm thinking now about another idea to try to update the MCE EPG using its internal .dll functions.