Shellexec vs Exec vs Shellexec мой пакетный файл

Я не нашел в справке исчерпывающего объяснения разницы между Shellexec и Exec. Является ли

Shellexec('','program.exe',params,'',SW_HIDE,ewWaitUntilTerminated,ResultCode) 

эквивалентом

Exec('program.exe',params,'',SW_HIDE,ewWaitUntilTerminated,ResultCode) 

при работе с exe-файлами? Конечно, когда я хочу выполнить файл, отличный от exe или пакетного, используйте Shellexec.

Иногда, однако, я не могу заставить мою инструкцию работать правильно ни с помощью Shellexec, ни с помощью Exec. Единственное решение, которое всегда работает, — это написать пакетный файл и запустить его через shellexec. Лично мне это решение не нравится, потому что мне приходится иметь дело с временным файлом, и я не доверяю полученному коду результата. Теперь мне придется вернуться к решению с пакетным файлом, потому что я не знаю, как заставить эту инструкцию работать :(, ошибка заключается в том, что она вызывает сбой инструкции, если целевой файл еще не присутствует, в то время как в команде Подскажите, инструкция работает, даже если файл назначения не существует ).

mysqldump := 'C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin\mysqldump.exe';
params := '-uroot -ppassword myschema>C:\myappdir\backup\newbackup.sql'; 
//the destination folder exists, the file newbackup.sql does not exist      
Shellexec('',mysqldump,params,'',SW_HIDE,ewWaitUntilTerminated,ResultCode);

Я работаю на Windows 7 64 бит, программа (установщик Inno Setup )запускается с правами администратора

5
задан Deanna 8 May 2012 в 09:39
поделиться