递归火山软件开发平台

标题: 求助@X大佬,终止命令,在win7上无效,帮忙解决,谢谢。 [打印本页]

作者: zqiz    时间: 2024-6-27 17:31
标题: 求助@X大佬,终止命令,在win7上无效,帮忙解决,谢谢。
本帖最后由 zqiz 于 2024-6-27 17:34 编辑

求助@X大佬,终止命令,在win7上无效,帮忙解决,谢谢。在win11上没问题,没有win10机,未测试。

<火山程序 类型 = "通常" 版本 = 1 />

方法 终止命令 <公开 静态 注释 = "在命令行提示符中发出CTRL+C信号,终止正在执行的命令.">
参数 进程ID <类型 = 整数>
{
    @ ::AttachConsole((DWORD)@<进程ID>);
    @ ::GenerateConsoleCtrlEvent(CTRL_C_EVENT, (DWORD)@<进程ID>);
    @ ::FreeConsole();
}

我主要用途是  A:  运行 (取运行目录 () + "bin/ffmpeg -y -i  rtmp://....."
   B:终止命令 (进程_名取ID ("ffmpeg.exe", ))



作者: 呵呵仙8    时间: 2024-6-27 18:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: zqiz    时间: 2024-6-27 18:31
不会封啊
作者: 呵呵仙8    时间: 2024-6-27 22:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: 呵呵仙8    时间: 2024-6-27 23:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: zqiz    时间: 2024-6-28 14:49
呵呵仙8 发表于 2024-6-27 23:00
函数 HH_进程ID终止程序(整型 进程ID)
        #嵌入代码
        HANDLE processHandle;

谢谢。看不懂。最终想要达到的效果是:用程序往cmd窗口里输入字母“q”,以达到结束窗口。
作者: Xelloss0618    时间: 2024-6-28 15:39
本帖最后由 Xelloss0618 于 2024-6-28 20:24 编辑

虚拟机用XP测试通过了,你试一下

<火山程序 类型 = "通常" 版本 = 1 />

方法 终止命令 <公开 静态 注释 = "在命令行提示符中发出CTRL+C信号,终止正在执行的命令.">
参数 进程ID <类型 = 整数>
{
    @ ::AttachConsole((DWORD)@<进程ID>);
    @ ::SetConsoleCtrlHandler(NULL, TRUE);
    @ ::GenerateConsoleCtrlEvent(CTRL_C_EVENT, 0);
    @ ::FreeConsole();
}
作者: zqiz    时间: 2024-6-28 16:13
Xelloss0618 发表于 2024-6-28 15:39
虚拟机用XP测试通过了,你试一下

谢谢,大佬。在win7上可以了,但是整个程序都退出了。修改什么地方才不至于都退出。
作者: Xelloss0618    时间: 2024-6-28 20:25
zqiz 发表于 2024-6-28 16:13
谢谢,大佬。在win7上可以了,但是整个程序都退出了。修改什么地方才不至于都退出。 ...

嗯,改了一下,你再试试
作者: zqiz    时间: 2024-6-28 22:39
Xelloss0618 发表于 2024-6-28 20:25
嗯,改了一下,你再试试

谢谢。还是不行。大佬,不用CTRL_C_EVENT,能给cmd窗口输入字母”q“,也行,我不懂封装,照葫芦画瓢,搞两天了,弄不来。嘿嘿




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4