Вставить миниатюрное изображение другого .exe в форму в качестве предварительного просмотра - PullRequest
0 голосов
/ 11 марта 2011

Я ищу встраивать .exe в мою форму. Примером того, что я хочу сделать, является область предварительного просмотра при выборе заставки в Windows. Он показывает небольшой предварительный просмотр приложения в текущем окне. Как мне сделать это в моей форме VB?

1 Ответ

0 голосов
/ 11 марта 2011

Ну, это не так просто. Заставки специально разработаны для поддержки предварительного просмотра. Они не EXE-файлы, они DLL. Они запускают в процессе и экспортируют 3 функции, которые Windows вызывает, чтобы заставить их делать то, что обычно делают хранители экрана.

Получение предварительного просмотра окна EXE - это совершенно другая проблема, которую решить гораздо сложнее. В некоторой степени это можно сделать, вызвав функцию API SetParent (), сделав ваше окно родителем окна EXE. Для этого вы должны иметь дескриптор окна EXE, который может быть трудно получить. Ваша лучшая ставка без большого количества неприятного pinvoke - Process.MainWindowHandle. Маловероятно, что получение миниатюрного представления об этом также удастся, EXE контролирует рисование окна. Вы можете сделать окно меньше, введя MoveWindow, и вы получите непредсказуемое, но вряд ли похожее на миниатюру. Попробуйте изменить размер окна Visual Studio, например, до размера миниатюры.

Если вы все равно хотите попробовать это, посетите pinvoke.net, чтобы получить необходимые декларации. Если это проект типа «начало работы», подумайте о том, чтобы попытаться заняться чем-то менее вероятным разочаровывающим.

...