![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Развернуть досовское окноий экран программы на весь экран
Развёртка © (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-приложения в полноэкранном режиме ?