CreateDesktopW(A), очень извращенные мысли.Создать рабочий стол в окне

Тема в разделе "WASM.BEGINNERS", создана пользователем shep, 10 янв 2007.

  1. shep

    shep New Member

    Публикаций:
    0
    Регистрация:
    10 янв 2007
    Сообщения:
    1
    Добрго времени суток!
    Вот собственно проблема. Я задумал напсиать прогу, которая бы запускала старые игры (Диабло, Фоллаут, СтарКрафт etc) в окне, т.к. в самих играх нельзя поменять разрешение. А если например запустить игру в окне 640х480 то всё будет казаться оч даже ничего. Короче, я вздумал это дело делать при помощи КреатеПроцесс. Там один из параметров, рабочий стол. С которым приложение будет ассоциировано. И вот тут возникла проблема. Рабочий стол то создаётся на всё окно (!), а мне - извращенцу -надо в окошке. Читал МСДН, напсиано что КреатеДесктоп внутреенне обращается к КреатеВиндов, но загнав в W32Dasm я такого там не обнаружил. Пытался просто тупо вызывать OpenDesktop, SetThreadDesktop передавая им хэндл окошка, но всё тщетно. Возникают мысли, что если дизасм "ошибся", то значит можно вызвать КреатеВиндов с какими-то "секртеными" параметрами и окошко окажется Рабочим столом. Есть какие-нить мысли по этому поводу?

    И ещё... Если всё это окажется невозможным, то возникает другая идея. Создать окно, а в нем подрубиться к своей же тачке (мастером подключения к удалённому столу) и вот там уже запустить игру.
     
  2. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    поставь vmware и будет тебе десктоп в окошке.
     
  3. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    CreateDesktop основную работу делает в ядре, win32k.sys. В частности, одним из выполняемых действий является вызов CreateWindow. Но помимо этого делается ещё куча других действий, так что простым вызовом CreateWindow с "секретными" параметрами обойтись нельзя.