我在Windows Vista中使用“ ShellExecute ”function
即
MysqLDump.exe'-u user1 -ppassword dbname> TheOutputFile.sql
如何部署商业便携式应用程序?
使用命令行打开Windows计划任务Gui属性
我怎样才能知道我的DLL是如何加载的?
如何closuresDelphi ListView的hottracking?
是否有可能使用不同的凭据读取/写入远程计算机的registry?
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';
但是这不起作用
如何检测Windows完成添加/删除存储设备(而不是作为驱动器号,只能作为设备)
找出它是否是本地机器
如何在Delphi中获取创build/最后修改文件的date?
delphiTExcelApplication和Windows预览平移
@Charles,你可以在ShellExecute中使用重定向器simbol“>”,但使用Windows命令解释器cmd.exe。
试试这个例子
ShellExecute(0,'cmd.exe','/c MysqLDump.exe -u user1 -ppassword dbname > TheOutputFile.sql',sw_normal);
另一个选择是使用管道,你可以在这个链接中找到一个非常好的例子。
在这种情况下,最简单的方法(禁止cmd脚本)可能是使用_popen而不是ShellExecute。
或者更好的办法是使用MysqLdump的–result-file选项。
不能担保此代码或网站的有效性,但我不止一次听说过DosCommand.pas 。 我今天晚上回家的时候会检查一下。
您应该使用CreateProcess启动该进程,并提供在STARTUPINFO结构的hStrOutput中创建的管道的一端。 网上有很多例子 。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。