So quick update that starting WMC in a specific channel by editing the registry on-the-fly works great on my Windows 8.1 machine at home.
It's a slight modification from the blog I posted the link to in the 3rd posting above (that blog was from 2008, so it looks like the difference is due to new registry settings in Windows 7/8). But the idea is:
1. Create a small .reg file that modifies the "last channel" # (and the channel ID) in the Windows registry. That .reg file will look like:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Media Center\Settings\VideoSettings]
"_tvChannel"="channel number"
"_tvChannelID"="channel ID"
2. Execute that file, which will update your registry. On my W8.1 machine, it actually did this automatically, without any "are you sure?!" prompts.
3. Launch WMC in LiveTV+fullscreen+etc. mode
Task #1 is pretty easily scriptable... a simple .bat file could probably do this? However I'll paste the python code below in case it's useful (full credit goes to that blog author linked above; some minor modifications for Windows 7/8 compatibility).
Code:
#python script to start WMC on a specific channel
#full credit to http://hmmtheresanidea.blogspot.com/2008/10/start-media-center-on-particular.html
#this code is just a slight modification of that author's code, adding _tvChannelID for Windows 7 and later
#execute via: python channelLaunch.ph [tv Channel #] [tv Channel ID]
import os, sys
#strings to write reg file
regStrings = []
regStrings.append("Windows Registry Editor Version 5.00")
regStrings.append("[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Media Center\Settings\VideoSettings]")
#make sure a channel was passed
if len(sys.argv) > 1:
try:
regStrings.append('"_tvChannel"="'+ sys.argv[1] + '"')
regStrings.append('"_tvChannelID"="'+ sys.argv[2] + '"')
regFile = open('regFile.reg','w')
for i in range(len(regStrings)): #write lines to file
regFile.writelines(regStrings[i])
regFile.writelines('\r\n')
regFile.close()
os.system('regedit /s "' + os.path.join(sys.path[0], 'regFile.reg') + "") #edit registry
os.system("start /MAX %systemroot%\ehome\ehshell.exe /homepage:VideoFullscreen.xml") #start media center
except:
print "Error caused by exacuting or writing file"
else:
print "Invalid argument - specify a channel"
Whoops... the forum ate my python indents. Here's a screen cap: