简体   繁体   English

VmWare Player Unity模式下的奇怪边框

[英]Weird borders in VmWare Player Unity mode

I have a question concerning unity mode in Vmware Player. 我对Vmware Player中的统一模式有疑问。 When I run apps in unity mode, they get an annoying gray border (first picture). 当我在统一模式下运行应用程序时,它们会显示出令人讨厌的灰色边框(第一张图片)。

This, in it self is just annoying. 这本身就很烦人。 The problematic thing is that when I run it in maximized mode, the top border is still there, but the mouse pointer doesn't react to it, making all my clicks being about a mm over where I'm actually pointing (second picture) 有问题的是,当我以最大化模式运行它时,顶部边框仍然存在,但是鼠标指针没有对它做出反应,使我所有的点击都超过了我实际指向的位置(第二张图片)

Anyone have any idea why this border appears? 有人知道为什么会出现此边框吗? And can it be removed? 可以将其删除吗?

问题最大化窗口中的问题

EDIT: It's not the VmWare borders setting, this is my exposure when the borders are present (Picture 3), and when I turn on borders, my weird borders have borders (Picture 4) 编辑:这不是VmWare边框设置,这是当边框存在时我的曝光(图3),当我打开边框时,我的怪异边框有边框(图4)

边框是自己的窗户Borderception!

It's a setting in VM Player. 这是VM Player中的设置。

在此处输入图片说明

Source: VMware Workstation 10 Documentation Center 来源: VMware Workstation 10文档中心

I have the same problem and could identify thoses borders. 我有同样的问题,可以确定那些边界。 This are the shadows of windows from Win7. 这是Win7中Windows的阴影。

I disabled Aero Mode and it helped for windows like Explorer. 我禁用了Aero模式,它对诸如Explorer之类的窗口很有帮助。 But I still have the same effect on Office 2013, which integrate window shadows. 但是我对集成了窗口阴影的Office 2013仍然具有相同的效果。

Here some explanations from Microsoft: http://support.microsoft.com/kb/2821007 这里是Microsoft的一些解释: http : //support.microsoft.com/kb/2821007

According to Microsoft: 根据微软的说法:

Microsoft Office 2013 applications use a custom frame in which a thin border is surrounded by four transparent Window handles (hWnds) that are used to render shadows. Microsoft Office 2013应用程序使用自定义框架,其中一个细边框被四个用于渲染阴影的透明Window句柄(hWnd)包围。 These hWnds are designed to make resizing the application easier. 这些hWnd旨在简化应用程序的大小调整。 There is no user setting to disable these shadows. 没有用户设置来禁用这些阴影。 However, you can disable them (and re-enable them) by calling SendMessage or SendMessageTimeout together with the parameters in the code snippet that appears in the "Sample Code" section. 但是,可以通过调用“ SendMessage”或“ SendMessageTimeout”以及“示例代码”部分中显示的代码片段中的参数来禁用它们(并重新启用它们)。

The following function sends a message to an Office application's hWnd to enable or disable the shadows around the application frame. 以下函数将消息发送到Office应用程序的hWnd,以启用或禁用应用程序框架周围的阴影。 (Some error checking is omitted for brevity.) (为简便起见,省略了一些错误检查。)

#define WM_MSO                              (WM_USER + 0x0900) 
#define WM_MSO_WPARAM_OMFRAMEENABLESHADOW   117
#define WM_MSO_LPARAM_SHADOW_ENABLED        1
#define WM_MSO_LPARAM_SHADOW_DISABLED       0

void DisableShadows(HWND hwndOfficeApp)
{
    SendMessage (
        hwndOfficeApp,
        WM_MSO,
        WM_MSO_WPARAM_OMFRAMEENABLESHADOW,
        WM_MSO_LPARAM_SHADOW_DISABLED);
}

void EnableShadows(HWND hwndOfficeApp)
{
    SendMessage (
        hwndOfficeApp,
        WM_MSO,
        WM_MSO_WPARAM_OMFRAMEENABLESHADOW,
        WM_MSO_LPARAM_SHADOW_ENABLED);
}

Unfortunately, this solution is not easy to use, while you need to write code. 不幸的是,当您需要编写代码时,此解决方案并不易于使用。 I found a solution published on http://www.thomaskoetzing.de/index.php?option=com_content&task=view&id=379&Itemid=254 based on Microsoft KB, which run this code given by Microsoft as an Service. 我在基于Microsoft KB的http://www.thomaskoetzing.de/index.php?option=com_content&task=view&id=379&Itemid=254上找到了一种解决方案,该解决方案运行了Microsoft作为服务提供的代码。

Just download and install this OFF2013_ShadowOff.zip. 只需下载并安装此OFF2013_ShadowOff.zip。 It will install a service that run on the Win7 guest VM. 它将安装在Win7来宾VM上运行的服务。 Once this service is started, thoses borders will be removed in Unity mode! 一旦启动此服务,将在Unity模式下删除那些边框!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM