Войти

Показать полную графическую версию : Как скрыть окно в котором выполняется пакетный файл (*.bat или *.cmd)?


Страниц : 1 [2]

mrcnn
02-01-2005, 16:40
метод 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]);
}

mrcnn
18-01-2005, 12:53
Поскольку поступил запрос про программу hider, то прикрепляю ее еще раз. Не забывайте, что файл перепаковывается форумом , то следует распаковать скачанный архив, внутри которго будет файл hider, который следует переименовать в hider.zip и потом распаковать

Для информации:

Программой можно запускать любые приложение, даже не консольные, но
скрывать оно будет только консольные.

Запуск производится следующим образом
hider путь
hider имя_файла

Небольшие советы:
1) программа не будет работать с именами файлов или путями в которых
присутствуют пробелы (!)
2) не запускайте программу вхолостую без указания параметров, иначе
придется уничтожать процесс через Диспетчер задач
3) не используйте в bat файлах и т.п. команды, требующие ввод от
пользователя (например pause), только полностью автоматические bat
файлы или скрипты, иначе придется уничтожать процесс через Диспетчер
задач

Если Вам нужно запустить какой-либо файл из директории, содержащей
пробелы, просто скопируйте его в эту директорию.
Например, можно скопировать hider.exe в C:\Program Files\Winamp и при
вводе c консоли hider winamp произойдет запуск winampa

Если имя файла содержит пробелы, переименуйте его так, чтобы он не
содержал пробелы, пробелы можно заменить на символ "_"

Если возникнут вопросы, или программа не будет работать(изначально она
рассчитана на w2k, но, скорее всего, будет работать и в других версиях
windows), пишите.

Sobdo
27-02-2006, 16:51
Я его в планировщик запихал и решил посмотреть, что получится.
Строка такая:
C:\Perl\scripts\hider.exe scanlog.bat

с повторением каждую минуту.
через две минуты я задачу отключил, т.к. эта штука свернула две программы, открытые на момент исполнения.

а еще у меня батник вызывает скрипт (перл), все равно окно мелькает

Vadikan
28-02-2006, 00:12
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 - окно не появляется, но и не работает.

GopneG
08-09-2008, 08:59
Хм... А Вы не пробовали запускать Ваш "батник" под другой учетной записью? Например, через планировщик заданий? Ы? ;)

stano4nik
12-05-2009, 19:14
http://ru.fileaward.com/bat_to_exe_converter.html

Удачи :-)

забыл может кто- то поленится прочесть хелп.... для тех ставти точечьку "Invisible application"

Drongo
12-05-2009, 19:45
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 бесплатная…

Drongo
13-05-2009, 17:31
волшебная точечка которая стоит по умолчанию "Visible application" вот она нескрываем чёрное окно »Я в курсе, называется она не "точечка" ;) а переключатель. Но если будет показ окна, то предложенная программа теряет свой смысл. Чаще хотят сделать скрытое выполнение командных файлов.
Также посетите сайт производителя (http://www.f2ko.de (http://www.f2ko.de/)) »А за ссылку спасибо, полезная.

Shaytan
14-05-2009, 20:15
Не прошло и пяти лет, как я нашел ответ на мучавший меня всё это время вопрос. Спасибо всем, кто не оставался безучастным к проблеме, спасибо stano4nik за программу, а также всем остальным пытавшимся помочь, и просто всем, кто был всё это время с нами! Вместе - мы сила! :oszone:

DemoNF
23-07-2010, 15:22
У меня такая проблема: при входе в терминал пользователям автоматом запускается программа 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.

В чем проблема? Хелп плз!

Drongo
23-07-2010, 21:15
Попробуй обработать пакетный файл утилитой - 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