Запустите приложение Windows из другого окна - PullRequest
2 голосов
/ 10 марта 2012

Можно ли запустить приложение Windows (которое открывает окно верхнего уровня) внутри другого окна? Или настроить альтернативный «рабочий стол» / поддельный рабочий стол, которому принадлежит окно?

Я использую UI Automation для автоматизации приложения для тестирования. Я хочу поместить тестируемое приложение в своего рода «песочницу»: искусственное родительское окно между рабочим столом и приложением или псевдо-рабочий стол, второй десстоп и т. Д. Этот рабочий стол (и тестируемое приложение) не должен быть видимым.

Различные экземпляры тестируемого приложения (на обычном рабочем столе или в «песочницах») не должны конфликтовать друг с другом (в зависимости от имени окна / класса) - тестируемое приложение безопасно иметь несколько экземпляров ...

Я понимаю, что это кажется хакерским, поэтому приветствуются хаки win32. :)

Ответы [ 2 ]

4 голосов
/ 10 марта 2012

Вы можете попробовать использовать CreateDesktop для создания рабочего стола и передать его имя в STARTUPINFO при запуске целевого приложения.

0 голосов
/ 10 марта 2012

Если вы автоматизируете приложение для тестирования, то, я полагаю, вы пытаетесь создать SandBox для тестируемых приложений.Для этого есть очень хорошая библиотека Лю Юй . См. Также: Создание песочницы C # и это: Как создать облегченную песочницу с кодом C?

...