2010-06-07 2 views
0

Я могу открыть контекстное меню, но не вижу список открытых меню через VNC. (Я знаю, что я могу открыть контекстное меню, проверив прямое серверное устройство vnc). Я протестировал на разных компьютерах/клиентах vnc (хотя все они - Windows Vista) и другое приложение wpf, но все же я не вижу никакого меню список.Я не вижу контекстного меню приложения Windows WPF через VNC

Проблема? Я нашел некоторую информацию о проблеме wpf, относящейся к рабочему столу Windows, но я не знаю о vnc.

ADDED: У меня нет этой проблемы в приложениях Windows или приложениях форм Windows в моей среде vnc.

ответ

2

Я не читал/не обнаружил какой-либо известной проблемы, связанной с просмотром приложений WPF через удаленное соединение. Однако, если вы думаете о , как работает работа с удаленными подключениями, я хотел бы рискнуть несколькими догадками к проблеме и даже, возможно, решением.

При установке любого программного обеспечения для удаленного рабочего стола вы действительно выполняете две задачи: настройку ретранслятора для передачи команд ввода и добавление -адаптера отображения, который выступает в качестве сервера кадров, монитор отправляет информацию по сети.

Как вы знаете, WPF использует DirectX для ускорения его рендеринга (привязка к GPU), и это несчастливое ограничение, что все ускорения графической карты не работают через соединение с удаленным рабочим столом.

Я уверен, что в вашем конкретном случае WPF не возвращается к использованию конвейера рендеринга программного обеспечения при попытке нарисовать контекстное меню - возможно, потому, что контекстное меню - это Popup и в отдельном визуальном дереве.

Что-то, что стоит попробовать, - это сила вашего приложения WPF для использования рендеринга программного обеспечения.

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

    hwndTarget.RenderMode = RenderMode.SoftwareOnly; 
} 

Если это окажется так, то у вас есть два варианта: заставить WPF использовать программное обеспечение визуализации трубопровода или попробовать развертывания high-performance remote desktop access software решение от компании Hewlett Packard.

HTH,

Ссылки
- Microsoft guidelines for troubleshooting graphic issues in WPF.
- Hardware Acceleration in WPF
- HP Remote Graphics Software


Update: Для других искать и находить этот ответ, вы должны изменить клиент VNC для включения альфа-смешивания. Как отметил @mcdrewski, по умолчанию VNC не будет обнаруживать/отображать альфа-смешанные окна. Включение альфа-смешивания связано с затратами, и вы заметите, что клиент VNC немного отстает.

+1

+1 Я собирался предположить, что WPF может использовать аппаратный рендеринг, который не будет передаваться по каналу. Это создает проблему и потенциальное решение. Хороший ответ ... –

+0

Спасибо за ваш ответ. Я попытался отобразить все приложение или только контекстное меню с режимом SortwareOnly, но не решил проблему. –

+1

Я нашел решение. Мне просто нужно было проверить 'enable alpha blending'. Я получил это из этого блога. http://mikestedman.blogspot.com/2009/02/wpf-transparent-windows-and-vnc.html. Во всяком случае, я выбрал ваш ответ. Thnx. –

0

Это происходит только в приложениях WPF или в других приложениях? Попытайтесь изменить качество цвета на рабочем столе до 16 бит.

+0

только на WPF приложений. Другие приложения для Windows или приложения Windows Form не имеют этой проблемы в моей среде VNC. –

+0

Я просто попытался снизить качество цвета, и он не работает. –

3

Решение: проверьте параметр «Захват альфа-смешивание» в свойствах администратора VNC-сервера - Эно

+0

Я не могу найти эту установку вообще! Пожалуйста помоги! –

+0

Я тоже не могу найти это. Я запустил приложение vcnconfig для сервера и проверил КАЖДЫЙ одиночный флажок и флаг эксперта. Я обнаружил, что единственный способ сделать окна Alpha Blending на VNC - отключить опцию «пустой локальный экран». Когда это отключено, на VNC появляются окна и меню Alpha Blended. – MajorHavoc

1

Единственный способ, которым я был в состоянии сделать альфа смешанные окна или меню отображаются в VNC, чтобы превратить выключите параметр «Пустой экран при подключении VNC-зрителей» в разделе «Рабочий стол» в приложении VNCconfig для сервера.

0

В VNC опции сервер ищет вариант имени UseCaptureBlt и пометить его ИСТИНА

 Смежные вопросы

  • Нет связанных вопросов^_^