Показать полную графическую версию : Как скрыть окно в котором выполняется пакетный файл (*.bat или *.cmd)?
метод mrcnn я не проверял.
Вот бинарник. Можете проверить и мой метод.
Способ использования: hider command-file-name
command-file-name должно быть без пробелов
команды pause(и др. команд спрашивающих инфу) в bat файле быть не должно - command-file-name должен сам завершить свою работу без подсказки пользователя.
Немного подправленный исходник
#include <windows.h>
void main (int argc, char **argv){
HWND hwnd;
hwnd=GetForegroundWindow();
ShowWindow(hwnd, SW_HIDE);
system(argv[1]);
}
Поскольку поступил запрос про программу hider, то прикрепляю ее еще раз. Не забывайте, что файл перепаковывается форумом , то следует распаковать скачанный архив, внутри которго будет файл hider, который следует переименовать в hider.zip и потом распаковать
Для информации:
Программой можно запускать любые приложение, даже не консольные, но
скрывать оно будет только консольные.
Запуск производится следующим образом
hider путь
hider имя_файла
Небольшие советы:
1) программа не будет работать с именами файлов или путями в которых
присутствуют пробелы (!)
2) не запускайте программу вхолостую без указания параметров, иначе
придется уничтожать процесс через Диспетчер задач
3) не используйте в bat файлах и т.п. команды, требующие ввод от
пользователя (например pause), только полностью автоматические bat
файлы или скрипты, иначе придется уничтожать процесс через Диспетчер
задач
Если Вам нужно запустить какой-либо файл из директории, содержащей
пробелы, просто скопируйте его в эту директорию.
Например, можно скопировать hider.exe в C:\Program Files\Winamp и при
вводе c консоли hider winamp произойдет запуск winampa
Если имя файла содержит пробелы, переименуйте его так, чтобы он не
содержал пробелы, пробелы можно заменить на символ "_"
Если возникнут вопросы, или программа не будет работать(изначально она
рассчитана на w2k, но, скорее всего, будет работать и в других версиях
windows), пишите.
Я его в планировщик запихал и решил посмотреть, что получится.
Строка такая:
C:\Perl\scripts\hider.exe scanlog.bat
с повторением каждую минуту.
через две минуты я задачу отключил, т.к. эта штука свернула две программы, открытые на момент исполнения.
а еще у меня батник вызывает скрипт (перл), все равно окно мелькает
Sobdo
См. Скрываем консольные окна (http://forum.oszone.net/showpost.php?p=386041&postcount=5)
will_expirience
02-04-2008, 10:49
Хм...
Предложенные решения ни одно не подошло к моему случаю:
Командный файл запускается из VBS скрипта с последующим чтением данных из StdOut.
Чтоб убедиться в вышенаписанном позапускайте примеры из аттача (tests.zip)
Без использования доп. программ работает, но появляется окно.
cmdow - тоже работает, но мелькает окошко.
hidcon, hidec, nircmd - окно не появляется, но и не работает.
Хм... А Вы не пробовали запускать Ваш "батник" под другой учетной записью? Например, через планировщик заданий? Ы? ;)
stano4nik
12-05-2009, 19:14
http://ru.fileaward.com/bat_to_exe_converter.html
Удачи :-)
забыл может кто- то поленится прочесть хелп.... для тех ставти точечьку "Invisible application"
stano4nik, Отличная программа, уже протестировал, правда на простом .bat'e. :up: Ссылку добавил в шапку темы.
Есть одно "но", .bat не должен содержать команды pause, иначе повиснет скрытый в процессах ожидая нажатия любой клавиши...
stano4nik
13-05-2009, 17:10
Drongo, там же есть вторая волшебная точечка которая стоит по умолчанию "Visible application" вот она нескрываем чёрное окно ….. А ещё моно привинтить к программке свой ярлык “.ico” на последней вкладке программы (Versioninformations) указываем путь… так же моно оставить комментарий к программе поставив лычку “Include Versioninformations“ всё что напишете в полях (Description – Описание) потом можно будит увидеть выпадающем меню “Cвойства” на выколотке “Версия” .
Также посетите сайт производителя (http://www.f2ko.de) там есть много интересных программ например компиляция Vbs To Exe бесплатная…
волшебная точечка которая стоит по умолчанию "Visible application" вот она нескрываем чёрное окно »Я в курсе, называется она не "точечка" ;) а переключатель. Но если будет показ окна, то предложенная программа теряет свой смысл. Чаще хотят сделать скрытое выполнение командных файлов.
Также посетите сайт производителя (http://www.f2ko.de (http://www.f2ko.de/)) »А за ссылку спасибо, полезная.
Не прошло и пяти лет, как я нашел ответ на мучавший меня всё это время вопрос. Спасибо всем, кто не оставался безучастным к проблеме, спасибо stano4nik за программу, а также всем остальным пытавшимся помочь, и просто всем, кто был всё это время с нами! Вместе - мы сила! :oszone:
У меня такая проблема: при входе в терминал пользователям автоматом запускается программа 1С вот таким батником:
cmdow @/HID
@ECHO OFF
CD "C:\Program Files\1Cv77\BIN"
START /wait 1cv7.exe
shutdown -l
файл cmdow.exe куда только не ложил все равно при выполнении болтается консольное окно с такой надписью:
Error: The specified window was not found.
В чем проблема? Хелп плз!
Попробуй обработать пакетный файл утилитой - Bat To Exe Converter (http://ru.fileaward.com/bat_to_exe_converter.html) только переключатель сокрытия не забудь установить.
SoaringHawk
04-10-2010, 18:44
Как вариант, можно запускать батник через js. Например:
Нужно запустить example.bat без cmd окна. Создаем example.js с текстом:
var activex = new ActiveXObject("WScript.Shell");
activex.Run("path_to_example.bat", 0, true);
alex_d2w
19-01-2013, 21:39
:umnik: Утилиты hidec, hidecon, cmdow, CHP - 32-разрядные. Они создают 32-разрядную консоль. Поэтому на 64-разрядных версиях Windows команды, зависящие от разрядности (например, reg), могут работать неправильно. (Сегодня убил полдня, пытаясь понять, почему не срабатывает reg delete). В таких случаях лучше использовать Nircmd или Hstart, так как для них есть 64-разрядные версии (кроме того, у них больше возможностей).
всё тоже самое делается не с помощью cmd и моей приблуды, а банальнейшим start /b ляляля.bat »
start /b не срабатывает в Планировщике задач и в окне "Выполнить".
megane68
19-11-2015, 19:08
Всем здравия!!!
Подскажите плиз, как сделать *.exe из *.bat, чтобы права администратора не добавлялись? Нужен запуск от текущего пользователя.
Bat To Exe Converter постоянно компилирует с правами админа. Перепробовал весь софт, который нашёл, только BatToExe 0.5.5.0 cделал EXE без манифеста администратора, но он не умеет убирать окно консоли.
Подскажите плиз, как быть?
geepnozeex
21-12-2021, 14:57
полностью тихий запуск батника из ярлыка -
mshta vbscript:Execute("CreateObject(""WScript.Shell"").Run ""%systemdrive%\Def.bat"",0,True:close:")
и полностью тихий запуск батника с правами TrustedInstaller -
%systemdrive%\Def\su.exe /c xmshta vbscript:Execute("CreateObject(""WScript.Shell"").Run ""%systemdrive%\Def\Def.bat"",0,True:close:")
su.exe = superUser v4.0 (https://github.com/mspaintmsi/superUser/releases)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.