#include <Windows.h>
int APIENTRY _tWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow){
… //Тут полезная нагрузка
return 0;
}
Как запустить консольное приложение со скрытым окном(без окна)?
Нашел только такой вариант:
http://www.cyberguru.ru/cpp-sources/ui-windows/kak-polutchit-deskriptor-konsolnogo-okna-hwnd.html
Но если скрывать окно уже после запуска программы, то оно всё равно моргает. Есть возможность определить параметры окна при запуске?
Как крайний вариант можно создать виндовое приложение, но оно должно при запуске получать пару параметров и исполняся как консольное, а все излишки GUI должны быть выброшены. Но вот в этом я не силен, не знаю, что выкидывать из начального проекта.
Т.е. ставим тип приложения как GUI,и показывать консоль(если она нужна вообще) через AllocConsole
Как вариант, спрятать в трей.
Что спрятать в трей?КОНСОЛЬ спрятать?
Кстати, хэндл консольного окна можно получить функцией GetConsoleWindow(). И не надо изголяться с FindWindow(). Тот код для win9x.
Цитата:
Кстати, хэндл консольного окна можно получить функцией GetConsoleWindow().
Ага, а заодно еще подключить Wincon.h, а проблема с моргающим окном не решится.
Эх, хоть бы кто пимер пказал гуёвой программы без окна, я ж писал, что даже незнаю, куда код полезной нагрузки вставить и что вырезать, чтоб всё работало.
Цитата: Frenzyk
Ага, а заодно еще подключить Wincon.h
Зачем?!Что-то ты мудришь там:)
В свойствах проекта ставишь Windows application(или как там оно надо для GUI,студию лень запускать),и код примерно такой
Код:
Цитата: Frenzyk
Эх, хоть бы кто пимер пказал гуёвой программы без окна, я ж писал, что даже незнаю, куда код полезной нагрузки вставить и что вырезать, чтоб всё работало.
Да какой пример то? Всё отличие только в том, что вместо main - WinMain (ну и аргументы по другому прописаны).
И всё. Весь код в WinMain, и никаких окон нет вообще.
а если уже скомпилено и сорцов нет? например я майнер хочу на паре тысяч корпоративных пк запустить, и бэз палева! а у него окно вымигивает при запуске(допустим я написал прогу которая ищет окна по маске и скрывает)! так меня ж сразу посадят?!)) нужен способ ЗАПУСКА УЖЕ СКОМПИЛЕННЫХ прог с субсистем:консоль БЕЗ КОНСОЛЬНОГ ОКНА!!! это реально? кто что знает?!
Т.е. ставим тип приложения как GUI,и показывать консоль(если она нужна вообще) через AllocConsole
ege.org.ru ege.net.ru
Цитата: xakepp35
а если уже скомпилено и сорцов нет? например я майнер хочу на паре тысяч корпоративных пк запустить, и бэз палева! а у него окно вымигивает при запуске(допустим я написал прогу которая ищет окна по маске и скрывает)! так меня ж сразу посадят?!)) нужен способ ЗАПУСКА УЖЕ СКОМПИЛЕННЫХ прог с субсистем:консоль БЕЗ КОНСОЛЬНОГ ОКНА!!! это реально? кто что знает?!
Вас так и сяк поймают, никто аудит не отменял :)
Проще флаг подсистемы сменить в бинарнике. Тоже мне сложность…