Jump to content

Need beta testers for a utility to keep the sensor panel glued to a monitor


Omnius

Recommended Posts

I gave this a try but it doesn't appear to work for me on Windows 11.  When I turn off my primary display, the AIDA64 sensor panel on my 1920x480 display disappears and the Windows desktop (along with whatever was open on my primary) takes over.  I tried the options such as "prevent applications from using this monitor" but that didn't help, also if I set the refresh rate to anything but manual I get this error when the display setup changes.  I have tried with both displays on the same GPU and also with them split between my 3070ti and Intel onboard.  
 

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
ForceSensorPanelToMonitor.InvalidTopologyException: The current topology is {currentTopology}, but this only works if the topology is DISPLAYCONFIG_TOPOLOGY_EXTEND.
   at ForceSensorPanelToMonitor.DisplayTools.GetAllMonitors()
   at ForceSensorPanelToMonitor.SettingsDialog.GetChosenMonitor()
   at ForceSensorPanelToMonitor.SettingsDialog.SyncSensorPanel()
   at ForceSensorPanelToMonitor.SettingsDialog.MyTimer_Tick(Object sender, EventArgs e)
   at System.Windows.Forms.Timer.OnTick(EventArgs e)
   at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4470.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
ForceSensorPanelToMonitor
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/Grahame/Downloads/ForceSensorPanelToMonitor/ForceSensorPanelToMonitor.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4488.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4488.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4395.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4470.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4341.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4161.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4161.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
Microsoft.Win32.TaskScheduler
    Assembly Version: 2.9.3.0
    Win32 Version: 2.9.3.0
    CodeBase: file:///C:/Users/Grahame/Downloads/ForceSensorPanelToMonitor/Microsoft.Win32.TaskScheduler.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

 

Link to comment
Share on other sites

On 4/8/2022 at 5:44 AM, Chimaera said:

I gave this a try but it doesn't appear to work for me on Windows 11.  When I turn off my primary display, the AIDA64 sensor panel on my 1920x480 display disappears and the Windows desktop (along with whatever was open on my primary) takes over.  I tried the options such as "prevent applications from using this monitor" but that didn't help, also if I set the refresh rate to anything but manual I get this error when the display setup changes.  I have tried with both displays on the same GPU and also with them split between my 3070ti and Intel onboard.  
 

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
ForceSensorPanelToMonitor.InvalidTopologyException: The current topology is {currentTopology}, but this only works if the topology is DISPLAYCONFIG_TOPOLOGY_EXTEND.
   at ForceSensorPanelToMonitor.DisplayTools.GetAllMonitors()
   at ForceSensorPanelToMonitor.SettingsDialog.GetChosenMonitor()
   at ForceSensorPanelToMonitor.SettingsDialog.SyncSensorPanel()
   at ForceSensorPanelToMonitor.SettingsDialog.MyTimer_Tick(Object sender, EventArgs e)
   at System.Windows.Forms.Timer.OnTick(EventArgs e)
   at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4470.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
ForceSensorPanelToMonitor
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/Grahame/Downloads/ForceSensorPanelToMonitor/ForceSensorPanelToMonitor.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4488.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4488.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4395.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4470.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4341.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4161.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4161.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
Microsoft.Win32.TaskScheduler
    Assembly Version: 2.9.3.0
    Win32 Version: 2.9.3.0
    CodeBase: file:///C:/Users/Grahame/Downloads/ForceSensorPanelToMonitor/Microsoft.Win32.TaskScheduler.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

 

Chimaera,

Thanks for the report, I haven't tested this on Windows 11 at all.  The error message that you are getting obviously isn't very helpful, but basically what that code is doing is it's excluding any monitors that are not extending the desktop (the other main choice is to mirror one of the other monitors).  It makes me wonder if Windows 11 has added more topology types (or changed the way topology is reported). 

From your description I am assuming that you have three monitors?  One of which is the sensor panel monitor?  When you turn off the primary monitor, which other monitor becomes the primary (hopefully not the sensor panel)?

Do you have at least two monitors with one set as the primary and the other set to extend the desktop? 

Do you have any monitors set to mirror another monitor?

When I get a chance I'll put some time into making that error more useful and then you can try it again. 

 

Edited by Omnius
Clarification
Link to comment
Share on other sites

On 4/14/2022 at 6:58 PM, Omnius said:

From your description I am assuming that you have three monitors?  One of which is the sensor panel monitor?  

 

Nope, I only have two monitors - a 49" super-ultrawide (5120x1440), and an 8.9" display (1920x480).   When I power off the 49", all windows that were open on it move to the 8.9" display and the aida64 panel itself disappears.  When I power the 49" back on, everything moves back to it's original location including the sensor panel.

Link to comment
Share on other sites

  • 3 weeks later...
On 4/16/2022 at 11:48 AM, Chimaera said:

Nope, I only have two monitors - a 49" super-ultrawide (5120x1440), and an 8.9" display (1920x480).   When I power off the 49", all windows that were open on it move to the 8.9" display and the aida64 panel itself disappears.  When I power the 49" back on, everything moves back to it's original location including the sensor panel.

Chimaera,

Sorry for the delay, I've had a busy couple of weeks. 

What you're describing is a well-known problem with Windows.  It's just trying to be helpful by moving applications.  If you want to keep the sensor panel up when the big monitor is off, I would think enabling the Aida64 feature "Keep SensorPanel the topmost window (always on top)" would do the trick.  If in these situations you don't care about keeping the sensor panel displayed, you could just turn off the small display first, then turn off the big display.  That way Windows won't throw all the windows around.  You'll have to also turn on the big display first when returning.  Or you could put them both on the same power bar and always turn them both off together.

One thought is that you could switch to another desktop (one with no active windows) before turning off the monitor.  The sensor panel will still show on the little monitor on the second desktop and (I'm pretty sure) all of the applications on the  first desktop won't move unless you switch desktops back (which you wouldn't do without turning the big monitor back on).  You can do this with "Ctrl-Windows-Right Arrow" and back again with "Ctrl-Windows-Left Arrow" (use Ctrl-Windows-D to create a new desktop if you only have one).  You'll have to enable multiple desktops first.

Considering that this is a "feature" of Windows, I don't know of anything I can do in my little application to help you.

Link to comment
Share on other sites

  • 3 weeks later...

Omnius,

 

Thank you for including me in your beta.  I ran into a problem when trying the program - it doesn't detect the monitor I wish to use for the sensor panel:

 

image.png.6f3b1fa70e2ee3b07be0ec4d0d58b9af.png

Here's my display config from Windows:

 

image.png.4d078033de7a07da9a08c8882d7337a2.png

The panel I wish to use is the bottom-right.  The 3 larger displays are connected to an EVGA 3070Ti video card, while the little screen for the sensor panel is connected to the Intel integrated graphics from the motherboard (12700K CPU if that matters).

Please let me know if any additional information would be helpful in figuring out the problem.

 

Thank you

Link to comment
Share on other sites

On 5/25/2022 at 5:02 AM, Nomfundo Maharaj said:

How to move windows between desktops in Windows 10

[Win][Shift][Arrow]

Can use either [<-] or [->] to move between screens, omit [Shift] if you just want to snap a window to one side of the screen or the other

Link to comment
Share on other sites

On 5/21/2022 at 10:48 AM, Divideby0 said:

Omnius,

 

Thank you for including me in your beta.  I ran into a problem when trying the program - it doesn't detect the monitor I wish to use for the sensor panel:

 

image.png.6f3b1fa70e2ee3b07be0ec4d0d58b9af.png

Here's my display config from Windows:

 

image.png.4d078033de7a07da9a08c8882d7337a2.png

The panel I wish to use is the bottom-right.  The 3 larger displays are connected to an EVGA 3070Ti video card, while the little screen for the sensor panel is connected to the Intel integrated graphics from the motherboard (12700K CPU if that matters).

Please let me know if any additional information would be helpful in figuring out the problem.

 

Thank you

Sorry for the delay.  Looking at your screen shot there shouldn't be an empty spot in the list (you have an empty spot above the three monitors you are showing, refer to the screen shots in the initial message in this thread).  I assume that means that your monitor 4 isn't providing a "friendly name" to display in the list.  I've not run into that, all the "real" monitors I've tested with and the couple of panel monitors have all provided names in the list.  What happens for you if you choose the blank first monitor?  Does it throw an error or does it just not work?

 

Link to comment
Share on other sites

On 5/28/2022 at 9:31 AM, Divideby0 said:

[Win][Shift][Arrow]

Can use either [<-] or [->] to move between screens, omit [Shift] if you just want to snap a window to one side of the screen or the other

If you hit Windows Key + Tab you will get a view that shows all of the visible windows for each display on the current desktop.  If you right-click on the window you want to move there is a context menu item "Move To" which allows you to move an application to any other desktop.  You can also mark an application as appearing on all desktops.  You can also drag-n-drop a window onto another desktop.

Here is a screenshot of moving an Excel window to a different desktop with the context menu:

image.thumb.png.7afabacf4f7133b6c9946ef252e45419.png

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...
  • 5 weeks later...
  • 1 month later...
  • 1 month later...

Thank you @Omnius for this awesome app. This is exactly what I needed.
Works perfectly on windows 11 and ensures that only sensor panel is kept on the secondary display. The auto refresh option works perfectly fine, if some applications does accidently opens on the secondary display while primary is off it automatically get removed as per the defined refresh.

Thank you once again for your awesome app much appreciated.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
On 11/20/2022 at 9:56 PM, Omnius said:

Hello All,

Note that I am not doing any more development on this since the assholes at Aida64 out of the blue cancelled my license, and I'm not paying for it yet again.

Omnius

hey i cam to this because i have the same problem as anyone else here. is there any possibility to get the app u developed so far ?

Link to comment
Share on other sites

  • 4 months later...
  • 1 month later...
  • 4 months later...
  • 2 months later...
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...