Post Reply
Daniel 2009-06-18 11:18
Greetings,
I'm using UltraMon 3.0.5 Beta installed on Windows Vista.
Computer Monitor: Dell 24" 2405fpw HDTV: Phillips 52" HDTV
-------------
2 monitors, 1 disabled Current desktop: 1920x1200 (0,0 - 1920,1200)
Monitor 1 - Generic PnP Monitor (primary): Settings: 1920x1200, 32-bit color, 60 Hz refresh rate Coordinates: 0,0 - 1920,1200. Workspace: 0,0 - 1920,1200 Video card: NVIDIA GeForce 8800 GT Device: \\.\DISPLAY1\Monitor0
Monitor 2 - Philips 105S (105S2) (disabled): Settings: 1920x1080, 32-bit color, 60 Hz refresh rate Coordinates: 0,0 - 1920,1080 Video card: NVIDIA GeForce 8800 GT Device: \\.\DISPLAY2\Monitor0
I have 2 profiles: PC - Enables the Dell Monitor and sets it as the primary monitor and disables the Phillips hdtv. - mapped to CTRL+F2 HDTV - Enables the Phillips and sets it as the primary monitor and disables the Dell Monitor. - mapped to CTRL+F3
(My HDTV is in another room, behind the wall of my PC - I use a Media center keyboard (bluetooth) to control from the living room.)
The goal is to be able to go into the living room and press a hotkey and have everything switch from the PC to the HDTV - and back w/ another Hotkey.
Additionally, after experiencing issues w/ the above profiles - I have the ToggleSingleMon script mapped to CTRL+F1.
I have similar problems using either the profiles or the script.
The issue: - When I activate the HDTV profile or the ToggleSingleMon Script, the monitor will not switch to the second monitor. Instead, the PC Monitor changes resolution to 640x480 and stays enabled/primary - Editing the profiles in this state shows that the #1 and #2 monitors have switched places in the profile and in Window's display settings as well. Monitor 1 is now Philips (enabled but not primary) Monitor 2 is now Generic PnP Monitor (enabled and primary) I am able to get back to normal by TWICE activating the PC profile.
In the past, I have gotten it to switch over to the HDTV (after multiple back and forth profile/script activations), but the monitors have always switched places and the resolution is always wrong and must be manually fixed and fixed again when I go back to the PC.
I saw another, similar post which mentioned disabling the TMM task in Task Scheduler/ Mobile PC as a possible solution. - That doesn't seem to have helped at all.
Thank you for any help you can provide.
Regards, Daniel
|
Christian Studer 2009-06-19 07:42
Do you have the same problem if you make the display configuration change manually via UltraMon menu > Display Settings or Windows Display Properties?
Christian Studer - www.realtimesoft.com
|
Daniel 2009-06-20 07:41
Yes, I get the same result using the Ultramon > Display Settings or Windows Display Properties ---
Which leads me to believe it is probably an issue w/ Vista, Nvidia, or Philips. Have you seen this before or have any suggestions? I believe I have the latest windows updates, nvidia drivers, and Philips firmware updates.
Regards, Daniel
|
Christian Studer 2009-06-20 13:25
My guess would be an issue with the Nvidia driver, for example the driver for the Intel video card on my laptop has a similar issue, when changing the primary monitor via UltraMon or Windows the resolution gets lowered to 640x480 and it remains the primary monitor, you need to change the primary via the Intel software.
Christian Studer - www.realtimesoft.com
|
Daniel 2009-06-22 04:22
Thanks for your reply. I'll post an update when/if I find a resolution.
Regards, Daniel
|
Daniel 2009-06-29 05:38
I've gone to Nvidia and EVGA and they weren't able to tell me more than to suggest I update to the latest drivers, which I already had/have. Le sigh.
However, I believe I have found a solution - or at least a workaround.
If I go into the Windows Display Settings and manually click 'Extend the desktop onto this monitor' and click 'Apply' BEFORE trying to run the profile to switch from the PC to the HDTV, this seems to work w/o fail so far. Going straight back to the PC when I'm done w/ the HDTV seems to work normally from here as well.
So now I have 3 profiles: 1 - PC - Dell Primary/Enabled, Philips Disabled 2 - INTERMEDIATE - Dell Primary/Enabled, Philips Enabled w/ Desktop extended to this monitor. 3 - HDTV - Dell Disabled, Philips Primary/Enabled
Not completely elegant, but it works well enough. Perhaps the ToggleSingleMon script could be modified to include this intermediate step. In the meantime, I have 2 buttons to press, instead of 1, to switch from my PC Monitor to my HDTV.
Thank you for your assistance.
Regards, Daniel
|
Christian Studer 2009-06-29 09:37
I have uploaded a script which does this, please let me know if it works for you: ToggleSingleMon2.vbs
Christian Studer - www.realtimesoft.com
|
Markkyboy 2009-10-25 00:03
Hi Daniel, i'm running XP SP2, using Ultramon 3.07 to swap pc monitor to HDTV. I have designated F1 for PC monitor and F2 for Plasma and it works a treat, but i did read on different forums that Vista seems to be the problem, some saying that screens 1 & 2 are in reverse order, perhaps to swap display profiles over, make 1 number 2 and 2 number 1???? I'm not saying this will work, but worth a try maybe? Perhaps give version 3.07 a try? Regards Markkyboy (newbie)
|
GG67 2010-12-10 02:18
Hello everyone,
The 'ToggleSingleMon2.vbs' script done by Christian didn't work for me (HP EliteBook, Vista, UltraMon v2.7) So here is my slightly modified version :
ToggleSingleMon3.vbs
'----------------------------------------------------------
' Switch between primary and secondary monitors using UltraMon
' (tested with UltraMon v2.7 on Vista)
' 12/10/2010
'----------------------------------------------------------
Option Explicit
Dim m_sys : Set m_sys = CreateObject("UltraMon.System")
Call Main()
Set m_sys = Nothing
'----------------------------------------------------------
Sub Main()
Dim s : s = vbNullString
Dim enabledMon, disabledMon
Call GetMonitors(enabledMon, disabledMon)
s = s & "- " & GetMonName(disabledMon) & " enabled and set primary" & vbCrLf
disabledMon.Enabled = True
disabledMon.Primary = True
Call m_sys.ApplyMonitorChanges()
s = s & "- " & GetMonName(enabledMon) & " disabled" & vbCrLf
enabledMon.Enabled = False
Call m_sys.ApplyMonitorChanges()
Call MsgBox(s)
End Sub
'----------------------------------------------------------
Sub GetMonitors(ByRef enabledMon, ByRef disabledMon)
Set enabledMon = Nothing
Set disabledMon = Nothing
Dim mon
Dim i : For i = 0 To 1
Set mon = m_sys.Monitors(CLng(i))
If (mon.Enabled) Then
Set enabledMon = mon
Else
Set disabledMon = mon
End If
Next
Set mon = Nothing
End Sub
'----------------------------------------------------------
Function GetMonName(ByVal mon)
Dim id : id = vbNullString
On Error Resume Next
id = Trim("" & mon.ID) & ". " & Trim("" & mon.Name)
On Error GoTo 0
GetMonName = id
End Function
|
Post Reply
|