|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2014/1/7 23:28:11 |
标题: |
shellexecute 怎么不工作? |
浏览:1076 |
|
加入我的收藏 |
楼主: |
shellexecute(Handle,nil,'cmd.exe', '/C D:\Mysql\bin\mysqldump -uUserName -pPassword --default-character-set=utf8 cx > d:\1.sql','D:\Mysql\bin',SW_SHOWNORMAL);
为啥生成了一个文件大小为0的sql文件,里头是空地。。。
我的mysql是绿色版的,在D:\mysql 目录下的。数据库就是cx 我显示了窗口,可是一闪而过,没能看清楚那像DOS窗口里显示了什么。
求指点。
----------------------------------------------
- |
作者: |
|
2014/1/8 1:36:50 |
1楼: |
路径不对啊,mysql没启动,等等有可能。此外不需要'cmd.exe',直接换成你的命令,如下:
ShellExecute(Self.Handle, 'open', PChar(yourcommand),'', '',SW_SHOW);
----------------------------------------------
只有偏执狂才能生存!
|
作者: |
|
2014/1/8 9:46:47 |
2楼: |
楼上的写法应该不行,我也曾经威慑个事情郁闷了大约一周左右,楼主你的代码应该没错,注意mysql的路径不要有空格,不要有中文,负责会很惨
----------------------------------------------
delphi加油!!
|
作者: |
|
2014/1/8 13:24:20 |
3楼: |
楼上白痴。 如果 MYSQL 对路径有要求那么你对。 如果没有。
那么 有空格 中文,都不会是问题。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2014/1/8 15:03:14 |
4楼: |
shellexecute(Handle, nil, nil, 'cmd /C D:\Mysql\bin\mysqldump -uUserName -pPassword --default-character-set=utf8 cx > d:\1.sql','D:\Mysql\bin',SW_SHOWNORMAL);
这样看看, 如果不行就用createprocess
----------------------------------------------
--
|
作者: |
|
2014/1/8 17:35:38 |
5楼: |
你先看看你的那个命令在cmd里能否成功
shellexecute(handle,nil,'cmd.exe',pchar('/c dir'),nil,sw_normal);
你可以试试winexec
WinExec(PChar( 'cmd.exe /c dir'),SW_SHOWNORMAL);
比如这个命令,显示c盘的目录,上面两个全部运行通过
你想暂停也很简单,加个 & pause 就可以了
shellexecute(handle,nil,'cmd.exe',pchar('/c dir & pause'),nil,sw_normal);
这样,窗口就不会关闭了
----------------------------------------------
我爱Delphi,永远的Delphi,哪怕Delphi淘汰了,出局了,被世人淡忘了我也爱,除非我死了否则就是爱Delphi
|
|