我无法通过 VNC 查看 WPF Windows 应用程序的上下文菜单

2023-12-30

我可以打开上下文菜单,但无法通过 VNC 查看打开的菜单列表。 (我知道我可以通过直接检查vnc服务器机器来打开上下文菜单) 我在不同的 vnc 服务器/客户端计算机(尽管它们都是 Windows Vista)和不同的 wpf 应用程序上进行了测试,但我仍然看不到任何菜单列表。

这是已报告的问题吗?我找到了一些有关 Windows 桌面的 wpf 问题的信息,但我不知道 vnc。

添加:我在 vnc 环境下的 Windows 本机应用程序或 Windows 窗体应用程序上没有此问题。


我尚未阅读/发现有关通过远程连接查看 WPF 应用程序的任何已知问题。但是如果你想一想how远程连接工作我想对这个问题进行一些猜测,甚至可能是一个解决方案。

当您安装任何远程桌面软件时,您实际上做了两件事:设置中继器来中继输入命令并添加显示适配器它充当帧服务器,即,它不是将屏幕内容输出到监视器,而是通过网络发送信息。

如您所知,WPF 利用 DirectX 来加速其渲染(GPU 限制),但不幸的是,所有显卡加速都无法通过远程桌面连接进行工作。

我相信在您的具体情况下发生的情况是,当 WPF 尝试绘制上下文菜单时,它不会回退到使用其软件渲染管道 - 也许是因为上下文菜单是Popup并在一个单独的视觉树中。

值得尝试的事情是force您的 WPF 应用程序使用软件渲染。

void OnLoaded(object sender, EventArgs e)
{
    HwndSource hwndSource = (HwndSource)PresentationSource.FromVisual(this);
    HwndTarget hwndTarget = hwndSource.CompositionTarget;

    hwndTarget.RenderMode = RenderMode.SoftwareOnly;
}

如果事实证明确实如此,您有两个选择:强制 WPF 使用软件渲染管道或尝试部署高性能远程桌面访问软件 http://h20331.www2.hp.com/Hpsub/cache/286504-0-0-225-121.html惠普的解决方案。

HTH,

参考
- 有关解决 WPF 中图形问题的 Microsoft 指南。 http://support.microsoft.com/kb/963021
- WPF 中的硬件加速 http://beta.blogs.microsoft.co.il/blogs/janiv/archive/2009/06/07/hardware-acceleration-in-wpf.aspx
- 惠普远程图形软件 http://h20331.www2.hp.com/Hpsub/cache/286504-0-0-225-121.html


Update:对于其他搜索并找到此答案的人,您需要更改 VNC 客户端设置以启用阿尔法混合。正如 @mcdrewski 所指出的,默认情况下 VNC 不会检测/渲染 alpha 混合窗口。启用 Alpha 混合会产生一定的成本,并且您会注意到 VNC 客户端有一点延迟。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我无法通过 VNC 查看 WPF Windows 应用程序的上下文菜单 的相关文章

随机推荐

  • Raphaël 对象:模拟点击

    是否可以模拟拉斐尔对象上的点击 我已经尝试过了 object click Error click is not a function or object dispatchEvent click Error Could not convert
  • 使用 java Mapreduce 处理 JSON

    我是 hadoop mapreduce 新手 我输入了文本文件 其中数据已存储如下 这里只有几个元组 data txt author Shari f Qa sim book al Rabi al manshu d author Na s i
  • 传递给 Rust WebAssembly 模块时 JavaScript 字符串为空

    当将字符串传递给 Rust WASM 模块时 传递的数据显示为空白 根据模式匹配real code compute功能 以下代码是我尝试过的 我不知道这是否与它的返回方式有关 但是当我传递硬编码时 str 效果很好 但是 那JsIntero
  • 验证:仅字母、数字和 -

    我想验证我的用户 因此他们只能在用户名中使用 a z 和 validates format of username with gt a z 然而这条规则也允许空格 Username should use only letters numbe
  • Oauth 错误 invalid_request:redirect_uri 未列入白名单

    我正在尝试基于此使用 React 和 Node 开发一个应用程序文档 https developers shopify com tutorials build a shopify app with node and react 我一步步按照
  • ListenableWorker 不删除通知图标

    我正在使用 ListenableWorker 执行后台任务 另外我希望操作系统了解我的服务重要性 所以我打电话 setForegroundAsync new ForegroundInfo WorkerConstants NOTIFICATI
  • 文本变量不起作用

    我正在尝试从 Tkinter 中的 Entry 小部件中获取文本 它适用于 Entry1 get 但不适用于 textvariable 我究竟做错了什么 from Tkinter import master Tk v StringVar d
  • 龙卷风“@run_on_executor”正在阻塞

    我想问一下如何龙卷风 concurrent run on executor https tornado readthedocs org en latest concurrent html tornado concurrent run on
  • django-registration 激活 url 中的等号

    我正在使用 django registration 由于某种原因 当它发送激活电子邮件时 它会在倒数第三个字符中插入一个等号 如下所示 http example com accounts activate a65b4aca5156211bc
  • 查找给定时间 .wav 的“音量”

    我正在为我的第四年项目 处理函数反应式编程 开发一个小型示例应用程序 我们的想法是创建一个简单的程序 可以播放 wav 文件 然后显示正在播放歌曲的当前音量的 弹跳 动画 就像在录音软件中一样 我正在 Scala 中构建它 因此主要关注 J
  • 无论 IP 地址是什么,isReachable 始终返回 true

    所以我一直在使用 isReachable 在我的 java 代码中 ping 一个地址 这段代码似乎是每个人都使用的 try InetAddress address InetAddress getByName 172 16 2 0 Try
  • ASP.NET vNext 和 EF7 中的多个 dbContext

    我正在尝试使用 MVC 6 和 EF7 通过 ASP NET vNext 构建 Web 系统 我正在看这个教程 http stephenwalther com archive 2015 01 17 asp net 5 and angular
  • elasticsearch将对象插入索引

    我是 elasticsearch 的新手 正在寻求使用 Java API 的一些帮助 我有一些域对象 例如 XmlRootElement public class BasicActivity private String activityN
  • Xcode 6.3(和 6.2)在 [UIFont fontWithName: size:] 上命中断点

    在我的 iOS 应用程序中 我使用一个类 DKTheme 将我的字体和图像保存在一个集中的位置 我的实现看起来像这样 instancetype theme static DKTheme theme nil static dispatch o
  • OpenGL 在 VBO 内分离多边形

    我正在尝试使用一个 VBO 来绘制彼此分离的多边形 当我绘制多边形时 OpenGL不知道从哪里开始一个新的多边形并绘制联合的多边形 我怎样才能在VBO 或IBO 上放置一个断点来告诉OpenGL开始一个新的多边形 抱歉 这似乎是一个新手问题
  • SQL查询获取同一天的记录

    我希望找到当天的所有记录 我有一块田地Date日期类型 如果我使用 WHERE Date 2011 04 07 it works 但如果我使用 WHERE Date CURDATE or WHERE Date NOW 它不返回任何结果 当实
  • WPF 上下文菜单,其项目被定义为数据模板

    我有一个显示项目集合的列表视图 每个项目都有一个视图模型 MVVM 作为其基础数据 我想做的是当用户右键单击这些列表视图项之一时在上下文菜单中显示不同的菜单项 显示的菜单项取决于所选项目的类型 即底层视图模型的类型 我希望下面的内容能够工作
  • Firebase 存储:使用下载网址而不是存储引用

    我有一个iOS使用的应用程序Firebase Storage用于存储图像 上传图像后 我保存它storage reference in my Firebase Database 当应用程序加载时 它会获取各种storage referenc
  • Python __del__ 不能用作析构函数? [复制]

    这个问题在这里已经有答案了 经过多次检查 我确实发现有关该主题的信息不一致 在某些情况下 我确实发现 init and del 是 python 中的构造函数和析构函数 这似乎适用于 init 因为我看到它在创建类时被调用 但 del 当程
  • 我无法通过 VNC 查看 WPF Windows 应用程序的上下文菜单

    我可以打开上下文菜单 但无法通过 VNC 查看打开的菜单列表 我知道我可以通过直接检查vnc服务器机器来打开上下文菜单 我在不同的 vnc 服务器 客户端计算机 尽管它们都是 Windows Vista 和不同的 wpf 应用程序上进行了测