У меня есть эта функция, которая должна запускать команду оболочки.Вот как я называю это:
RunCommand("C:\\source\\in\\DSC00749.jpg -gravity Center -crop 100x100+0+0 -write C:\\source\\out\\DSC00749.jpg");
private static string RunCommand(string cmd)
{
const int ERROR_FILE_NOT_FOUND = 2;
const int ERROR_ACCESS_DENIED = 5;
string strErrMsg = "OK";
try
{
ProcessStartInfo procInfo = new ProcessStartInfo("convert.exe");
procInfo.CreateNoWindow = true;
procInfo.UseShellExecute = true;
procInfo.Arguments = cmd;
Process.Start(procInfo);
}
catch (Win32Exception e)
{
if (e.NativeErrorCode == ERROR_FILE_NOT_FOUND)
{
strErrMsg = "File not found exception";
}
else if (e.NativeErrorCode == ERROR_ACCESS_DENIED)
{
strErrMsg = "Access Denied Exception";
}
}
return strErrMsg;
}
Если я запускаю это в командной оболочке, это работает:
convert.exe C:\\source\\in\DSC00749.jpg -gravity Center -crop 100x100+0+0-write C:\\source\\out\\DSC00749.jpg
Если я запускаю в режиме отладки или запускаю его напрямую, он простоt создать изображения.
Что не так с моим кодом?Я делаю это правильно?