Windows平台创建控制台程序并实现双向管道(Pipe)

Windows平台创建控制台程序并实现双向管道(Pipe)

为了实现MySQL 完美Dump——MySQL 5.7+ 不能带密钥执行命令,shellexe表示无奈!有网友给出了设置Mysql [Client]参数的方法——如果服务器不可控——无效!也有网友给出通过批处理文件实现等等…统统忽略:上菜!

语言:ObjectPascal,DELPHI11

1. 创建进程

测试使用了cmd命令
procedure TfrmC20221201.btnCreateProcessClick(Sender: TObject);
var CmdExeName : String;
    pcallBack : Pointer;
    theTitle : String;
    cr1,cr2 : LongBool;
begin
    CmdExeName := Trim( edtCmdExeName.Text );
    r.Lines.Add('RUN:'+CmdExeName);
    btnCreateProcess.Enabled :=False;
    osVer.dwOSVersionInfoSize := Sizeof(TOSVERSIONINFO);
    GetVersionEX(osVer);
    if osVer.dwPlatformId = VER_PLATFORM_WIN32_NT then
    begin
      SA.nLength              := SizeOf(SA);
      SA.lpSecurityDescriptor := nil;
      SA.bInheritHandle       := True;
      cr1 := CreatePipe(hReadPipe, hWritePipe, @SA, 0);
      cr2 := CreatePipe(hInPut_ReadPipe, hInPut_WritePipe, @SA, 0);
    end
    else
    begin
      cr1 := CreatePipe(hReadPipe, hWritePipe, nil
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ti-蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值