用“ShellExecute”函数将数据configuration到文件

我在Windows Vista中使用“ ShellExecute ”function

有没有办法将输出传输到文件?

MySqlDump.exe'-u user1 -ppassword dbName> TheOutputFile.Sql

在这里我的代码

theProgram := 'MySqlDump.exe'; itsParameters := '-u user1 -ppassword dbName'; rslt := ShellExecute(0, 'open', pChar (theProgram), pChar (itsParameters), nil, SW_SHOW); 

编辑:

我努力了

  itsParameters := '-u user1 -ppassword dbName > TheOutputFile.Sql'; 

但是这不起作用

@Charles,你可以在ShellExecute中使用重定向器simbol“>”,但使用Windows命令解释器cmd.exe。

试试这个例子

 ShellExecute(0,nil,'cmd.exe','/c MySqlDump.exe -u user1 -ppassword dbName > TheOutputFile.Sql',nil,sw_normal); 

另一个选择是使用管道,你可以在这个链接中找到一个非常好的例子。

在这种情况下,最简单的方法(禁止cmd脚本)可能是使用_popen而不是ShellExecute。

或者更好的办法是使用mysqldump的–result-file选项。

不能担保此代码或网站的有效性,但我不止一次听说过DosCommand.pas 。 我今天晚上回家的时候会检查一下。

您应该使用CreateProcess启动该进程,并提供在STARTUPINFO结构的hStrOutput中创建的管道的一端。 网上有很多例子 。