VMConnect enhanced session dynamic resizing not updating when resized by MoveWindow

Atle Corneliussen 6 Reputation points
2020-09-16T11:14:46.21+00:00

Hi

My company have implemented Secure Admin Workstations. These are locked down workstations running Windows 10 enterprise that serves as hosts for local shielded Hyper-V VMs for privileged access to our internal systems and local "User Desktops" for unprivileged access.

To connect to these virtual machines we are currently using VMConnect with enhanced session, this is an OK solution in most cases.
There are drawbacks however that we are looking at solutions for, one of this are that VMConnect only supports maximizing a session on one or all monitors.

To go around this limitation we have some user that wish to maximize the windows over a couple of monitors borderless. The job of resizing and stripping away the menu and border is easy using the user32.dll methods

  • RemoveMenu
  • DrawMenuBar
  • SetWindowLong
  • MoveWindow/SetWindowPos

The issue is that VMConnect does not update the resolution of the VM but instead cuts the window or leaves the new areal empty:
25140-1.png

Is there any way to make VMConnect send the new windows size to the vm?

I have tried all of the uFlags for SetWindowPos dockumented here, bRepaint for MoveWindow and UpdateWindow but from what I can see VMConnect has some other logic to determine that the size of the window has changed.

Selecting some but not all of the monitors is possible using the build in RDP client, but I have found solution to use it to connect to VMs over VMbus (or over the HvSocket that enhanced session seems to use) without needing to authenticate two times (once to connect to localhost and then to the vm) - this also requires the user to have remote desktop users membership on the host.

Hyper-V
Hyper-V
A Windows technology providing a hypervisor-based virtualization solution enabling customers to consolidate workloads onto a single server.
2,730 questions
Remote Desktop
Remote Desktop
A Microsoft app that connects remotely to computers and to virtual apps and desktops.
4,595 questions
0 comments No comments
{count} vote

2 answers

Sort by: Most helpful
  1. TimCerling(ret) 1,156 Reputation points
    2020-09-16T12:48:06.927+00:00

    Have you tried using a remote desktop connection to the VMs instead of VMconnect? VMconnect makes use of RDS capabilities, but it does not have access to all the capabilities that are available to a remote desktop connection. Generally if you want the full desktop capabilities, that can be accomplished with a Remote Desktop Services connection.

    1 person found this answer helpful.

  2. Karlie Weng 18,531 Reputation points Microsoft Vendor
    2020-09-17T07:17:25.173+00:00

    Hello,

    There are 2 requirements for dynamic resizing to work:

    1. running in Enhanced session mode
    2. fully logged in to the guest OS (it won't work on the lockscreen)

    As far as I understand, this feature now only supports one or all monitors, not some.
    Hope this will be implemented in future.
    25326-image.png

    VMConnect dynamic resize:
    https://learn.microsoft.com/en-us/virtualization/community/team-blog/2017/20170127-introducing-vmconnect-dynamic-resize

    You can post your suggestion in Remote Desktop Services for user voice

    ----------

    If the Answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    Best Regards
    Karlie


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.