Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
razor_ua
11 / 11 / 0
Регистрация: 20.05.2011
Сообщений: 71
#1

WinExec, запуск batch файла - C++

13.10.2013, 20:10. Просмотров 565. Ответов 4
Метки нет (Все метки)

Все привет.

Делаю так:
C++
1
WinExec("Register.bat", SW_SHOW);
результат 33, т.е. больше чем 31 => все ок.

содержимое bat файла

@echo off
pushd "%~dp0"
copy /Y HideFiles.inf %SystemRoot%\System32\drivers
copy /Y HideFiles.sys %SystemRoot%\System32\drivers

В итоге, при запуске этого файла через WinExec - моргнет окошко и погаснет.
Функция вернет, что все ок.
И действительно файл как бы запустился, а файлы не были скопированы.

А если запустить bat файл вручную - все норм работает - копирует.

В чем может быть проблема?

Добавлено через 24 минуты
Запускается, если прописать полный путь к батнику. А как сделать текущий каталог?
никак не выходит...

Добавлено через 4 минуты
Даже msdn пишет, что если файл не был найден, то ищется в файле с программой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2013, 20:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос WinExec, запуск batch файла (C++):

ShellExecute WinExec .... - C++
Привет всем :)) у меня появилать очень интересная проблема с WinExec и ShellExecute Вот я запукаю с помощю программы bat файл...

Ошибка параметров в функции WinExec - C++
char *buffer = new char; GetCurrentDirectoryA(MAX_PATH, buffer); //remove(buffer); //deletebuffer; //buffer = new char; ...

Не работает открытие приложений WinExec - C++
Делаю прогу в visual studio 2015 на С++, должна при нажатии "1" открыть браузер (Вот его путь "C:\Program Files...

Как узнать адрес функции Winexec - C++
Пробовал через IDA, вроде нашел, но не сработал Через Ollydbg не могу найти

c++, запуск файла - C++
Интересует как в с++ запустить другой файл и передать ему управление? После запуска файла программа должна закрыться.

запуск файла - C++
народ написал вот такую прогу но незнаю как сделать чтоб открывал файл путь к которому я напишу //Это праграмма которая проверяет код и...

4
Убежденный
Ушел с форума
Эксперт С++
15931 / 7241 / 1140
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
13.10.2013, 20:18 #2
Код
cd /d "%~dp"
copy /y "%cd%\имя файла" "путь\имя файла"
Цитата Сообщение от razor_ua Посмотреть сообщение
Даже msdn пишет, что если файл не был найден, то ищется в файле с программой
Где пишет ? В описании WinExec ? Ну правильно, WinExec ищет в папке с программой.
А команда copy в батнике ищет в текущей папке, если полный путь не указан.
0
razor_ua
11 / 11 / 0
Регистрация: 20.05.2011
Сообщений: 71
13.10.2013, 20:23  [ТС] #3
Вы имеете ввиду, что пути к файлу с программой и текущей директорией будет отличаться?

Файлы все вместе лежат.
0
Убежденный
Ушел с форума
Эксперт С++
15931 / 7241 / 1140
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
13.10.2013, 20:26 #4
В коде выше опечатка, вмеcто
Код
cd /d "%~dp"
нужно писать
Код
cd /d "%~p0"
Цитата Сообщение от razor_ua Посмотреть сообщение
Вы имеете ввиду, что пути к файлу с программой и текущей директорией будет отличаться?
Возможно. Вызовите в программе GetCurrentDirectory и посмотрите, куда она указывает.
1
razor_ua
11 / 11 / 0
Регистрация: 20.05.2011
Сообщений: 71
13.10.2013, 20:39  [ТС] #5
GetCurrentDirectory указывает к исполняемому файлу.

С cd /d "%~p0" - заработало. Спасибо большое!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2013, 20:39
Привет! Вот еще темы с ответами:

Запуск файла - C++
Подскажите пожалуйста, как запустить .exe файл с консольного приложения?

Переделать из batch на c++ - C++
Здравствуйте!! Помогите, пожалуйста, переделать команды batch файла на c++. Batch файл такого вида: set arma2oapath=C:\Program...

Batch file - C++
Здравствуйте, такой вопросик, как перенаправить вывод консоли в лог файл? т.е бат файл запускает exe-файл и выводит результаты его работы в...

Запуск файла BAT - C++
Какой код bat писать чтобы батник запустил файл по ссылке c:\1.txt


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru