Разрешить пакетному файлу сворачивать окно DOS?

Итак, я вроде как в MS-DOS и тому подобное, но я пришел спросить себя, как я могу свернуть окно DOS? Подойдет любой вид, минимизируйте, уменьшите до крошечного синего блока.

Я просто не могу найти способ заставить его работать на моем компьютере с Windows XP, действительно ли все исключено в XP?!


person billyy    schedule 22.04.2009    source источник


Ответы (3)


Одна вещь, которую вы можете сделать, это создать программу Windows, которая найдет заголовок окна cmd, в котором вы работаете, и в этой программе сведет его к минимуму. В Win32 вы должны использовать команду FindWindow, чтобы получить дескриптор окна, а затем CloseWindow, чтобы свернуть его. Что-то вроде этой совершенно непроверенной программы:

int main(int argc, char** argv)
{
    HWND wnd = FindWindow(      
        NULL,
        argv[1]
        );
    CloseWindow(wnd);
    return 0;
} 

В окне cmd вы можете установить заголовок для некоторой строки, которую вы определяете (чтобы избежать двусмысленности), а затем передать это имя программе в вашу программу:

C:\>title TitleOfWindowToMiniMize

C:\>minimizeWindow TitleOfWindowToMiniMize
person zdan    schedule 22.04.2009
comment
хорошо, это 100% то, что я хочу :) - person billyy; 22.04.2009

Вы можете запустить программу в новом свернутом окне с помощью команды start:

start /min your_command_here
person Greg Hewgill    schedule 22.04.2009
comment
да, это может помочь! Было бы здорово, если бы я мог сворачивать во время бега... - person billyy; 22.04.2009

Вы не можете. Не в ДОС. В DOS нет концепций окон.

В Windows вы можете написать небольшую программу, которая будет искать ваше окно и отправлять ему соответствующее сообщение, заставляя его сворачиваться. Точно так же вы можете развернуть или скрыть/показать свое окно.

person Joey    schedule 22.04.2009