x:=winexec(pchar('copy c:\td4\a.zpl lpt1'),SW_NORMAL) 结果 x=2,不知道是否错误
在dos窗口运行 copy c:\td4\a.zpl lpt1 正常,但在 delphi 程序运行没有反应。 请教原因?????谢谢!!!

解决方案 »

  1.   

    copy是内部命令,要调用cmd.exex:=winexec(pchar('cmd.exe /C copy c:\td4\a.zpl lpt1'),SW_NORMAL)返回值含义见帮助:
    Value Meaning
    0 The system is out of memory or resources.
    ERROR_BAD_FORMAT The .EXE file is invalid (non-Win32 .EXE or error in .EXE image).
    ERROR_FILE_NOT_FOUND The specified file was not found.
    ERROR_PATH_NOT_FOUND The specified path was not found.
      

  2.   

    按照楼上的方法,可以了,但是执行完后 cmd.exe 没有关闭,在进程里,如何让cmd.exe 自动释放呢?
      

  3.   

    cmd.exe 加了/C参数应该会在命令结束后自动关闭的。 如果只是复制文件,可以用很多方法,CopyFile、SHFileOperation等
      

  4.   

    不是复制文件,是将一个文件发送到lpt1端口进行条码打印.执行第一次 winexec(pchar('cmd.exe /C copy c:\td4\a.zpl lpt1'),SW_HIDE)
    可以,但因为我需要对 a.zpl 进行重新生成,当我再次重新删除a.zpl,要重新建立a.zpl文件时,提示a.zpl文件被另一个进程使用,无法访问!我该如何处理?? 多谢了!
      

  5.   

    看错个lpt1,条码打印,没搞过
      

  6.   

    谢谢 liangqingzhi(老之) , 还是用你的方法,可以了!