Добавлено: 04 июл 2006, 11:50
код с путем?
p:\p.bat - путь
тока сомневаюсь что лучше от этого станет
p:\p.bat - путь
тока сомневаюсь что лучше от этого станет
Код: Выделить всё
WCHAR exepath[MAX_PATH];
::GetSystemDirectoryW(exepath, MAX_PATH);
::lstrcatW(exepath, L"\\cmd.exe");
WCHAR cmdline[MAX_PATH];
::lstrcpyW(cmdline, exepath);
::lstrcatW(cmdline, L" /c p:\\p.bat");
STARTUPINFOW si;
memset(&si, 0, sizeof(si));
PROCESS_INFORMATION pi;
memset(&pi, 0, sizeof(pi));
::CreateProcessW(exepath, cmdline, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
Ну, у меня и вот так работаетAbsurd писал(а):У меня так работает:
Код: Выделить всё
#include "Windows.H"
int WINAPI WinMain (]
Код: Выделить всё
ShellExecute(Handle, 0, "cmd.exe", "/c p:\\p.bat", 0, SW_SHOWNORMAL);
Код: Выделить всё
"/c \"c:\\Program Files\\p.bat\""
Eugie писал(а):P1ece, так бы сразу и написал: не могу программно запустить bat-файл. Тут на форуме телепаты не водятся
Собственно, за меня уже ответили, но повторение - мать ученияВот такой код должен работать:
Код: Выделить всё
ShellExecute(][/quote] дык а подрубать ничего кроме windows.h не надо?
А у тебя возникает ошибка компилятора? Или линкера?P1ece писал(а):дык а подрубать ничего кроме windows.h не надо?
Что касаемо исходного текста, то у меня компилируется (MS VC++ 6.0) без явного подключения Shellapi.h (см. исходник выше). Возможно, подключение Windows.H неявно подключает много всего, в т.ч. и Shellapi.h.Eugie писал(а):ShellExecute() без Shellapi.h + Shell32.lib не скомпилируется и не слинкуется