Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Развернуть досовское окноий экран программы на весь экран


Страницы:   1 2

Развёртка ©   (2008-10-03 13:33:00) 

Подскажите, как сделать так, чтобы при запуске программы написанной на Turbo Pascal окно DOS`а само разворачивалось на весь экран, а не было в окошке.
Что-то вроде программной реализации Alt+Enter которые приходится нажимать, чтобы развернуть на весь экран.


Германн   (2008-10-04 01:33:00) [1]


> Развёртка   (03.10.08 23:50) [33]
>
> Большое спасибо!
>

Так чем всё таки pif не подошёл? Бо эти игры со старыми ДОСовскими прерываниями могут и подвести. Сегодня сработало, а завтра - отлуп по полной программе!


Развёртка   (2008-10-03 23:50:00) [2]

Большое спасибо!


Городской Шаман   (2008-10-03 18:57:00) [3]

В общем на тебе код

//запоминаем
mov ah,0Fh
int 10h
mov cl, al

//устанавливаем графический
mov ax,13h
int 10h

//возвращаем назад
xor ax, ax
mov al, cl
int 10h


Городской Шаман   (2008-10-03 18:51:00) [4]


> Развёртка   (03.10.08 18:50) [30]
>
> Городской Шаман, спасибо! Только почему-то текст стал крупного
> размера, видимо он делает разрешение 640х480


Ну верни назад, И вообще почитай про функции прерывания 10h http://www.codenet.ru/progr/dos/int_0009.php


Развёртка   (2008-10-03 18:50:00) [5]

Городской Шаман, спасибо! Только почему-то текст стал крупного размера, видимо он делает разрешение 640х480


Городской Шаман   (2008-10-03 18:23:00) [6]

Здесь вроде советуют произвести смену видеорежима на графический и обратно.

mov ax,13h
int 10h


http://www.xakep.ru/post/21508/default.asp?print=true


Сергей М.   (2008-10-03 17:17:00) [7]


> DOS-программа никак не сможет ничего скомандовать Windows
> либо передать Windows какие-то нажатия клавиш


Ибо про Windows ДОС-программа ничего не знает, потому что родилась в системе, рожденной до рождения Windows ..

Это я Автору)


> в виртуальной машине


Для Автора, похоже, это абракадабра)


DrPass   (2008-10-03 16:54:00) [8]


> Развёртка   (03.10.08 16:15) [22]
> А какая тогда функция API Dos`а отвечает за нажатие клавиш?
>  

Intr из модуля DOS. Но в Windows твоя чудо-программа выполняется в виртуальной машине. И все "нажатия клавиш" в ней попадают только в твою программу, и никак не выходят за ее пределы. DOS-программа никак не сможет ничего скомандовать Windows либо передать Windows какие-то нажатия клавиш.


Сергей М.   (2008-10-03 16:26:00) [9]

Ясно)


Развёртка   (2008-10-03 16:24:00) [10]


> А можно полюбопытствовать, чем вызван это патологический
> махохизм - использование TP ?

чисто любопытством


Сергей М.   (2008-10-03 16:21:00) [11]

А можно полюбопытствовать, чем вызван это патологический махохизм - использование TP ?


Сергей М.   (2008-10-03 16:20:00) [12]


> какая тогда функция API Dos`а отвечает за нажатие клавиш?


Это ты у меняспрашиваешь ?!
Это тыв ДОС'е работаешь, а не я, тебе и видней должно быть)

Даже если такая есть (а она есть), то она не имеет ничего общего с тем что ты от нее ожидаешь в части ожидаемой тобой реакции на Alt-Enter.


Развёртка   (2008-10-03 16:15:00) [13]

А какая тогда функция API Dos`а отвечает за нажатие клавиш? Если такая же keybd_event(), то в каком модуле она находится?


Сергей М.   (2008-10-03 16:11:00) [14]


> от приложения требуется вызвать функцию API keybd_event()


ЧьегоAPI ?!

У DOS свой API, у Windows свой)


Развёртка   (2008-10-03 16:09:00) [15]

А ему и не нужно знать, от приложения требуется вызвать функцию API keybd_event() и нажать в сочетании две клавиши Alt и Enter. Но в каком модуле находится эта функция и как её подключить к программе, как обычно через uses? И как можно сделать задержку нажатия, то есть я вызову функцию нажатия на кнопку Alt, затем Enter, но надо одновременное нажатие, то есть вызвать Alt держать как-то и вызвать Enter, затем опустить обе, как это можно сделать?


Сергей М.   (2008-10-03 16:07:00) [16]


> Мне нужно написать само DOS-приложение, которое будет разворачиваться
> автоматически на весь экран


Оно и так уже развернуто "во весь экран".
А вот что считать "полным экраном" - это уже решает Windows.


Сергей М.   (2008-10-03 16:05:00) [17]


> это приложение я пишу на TurboPascal


Ну и пиши себе, никто ж не мешает)

Но DOS-приложение знать ничего не знает и знать не может ни о каких Windows-окнах и режимах. Где и как отрисовывать виз.результаты работы DOS-приложения - этим заведует Windows.


Развёртка   (2008-10-03 16:02:00) [18]

Мне нужно написать само DOS-приложение, которое будет разворачиваться автоматически на весь экран при его запуске файла exe, но в ОС Windows XP.


Развёртка   (2008-10-03 16:00:00) [19]

Так это приложение я пишу на TurboPascal

> Подскажите, как сделать так, чтобы при запуске программы
> написанной на Turbo Pascal окно DOS`а само разворачивалось
> на весь экран, а не было в окошке.

Или можно как-то ещё использовать эту функцию?


Сергей М.   (2008-10-03 15:54:00) [20]


> Пишу в Turbo Pascal 7.0


А причем здесь Turbo Pascal ?

Речь вроде бы идет о Win32-приложении, в задачу которого входит запуск некоего DOS-приложения в полноэкранном режиме ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо