如何向控制台程序发送Ctrl+C?问题解决(200分)

  • 主题发起人 主题发起人 lintel
  • 开始时间 开始时间
L

lintel

Unregistered / Unconfirmed
GUEST, unregistred user!
用C语言编写的一控制台程序a.exe, 当键盘按Ctrl+C后程序需作些必要的操作后退出,a.exe相关代码为signal(SIGINT, terminate_fun),其中terminate_fun为退出前一些必要操作.<br>现在利用Delphi6编写一界面程序,通过CreateProcess启动cmd.exe,同时创建一管道,获取cmd.exe的输出显示在界面程序上,例如在cmd.exe中运行dir,在界面程序中可以显示出当前目录中的内容;运行a.exe也可以在界面程序中得到其输出,现在的问题是如何能够让a.exe正常退出,也就是如何能让a.exe得到Ctrl+C后完成退出前必要的操作?
 
问题解决,利用delphi安装盘中的sndkey32.pas中的两个函数实现(AppActivate()与SendKeys())
 
后退
顶部