重新启动正在运行的程序 #C++

我们在打代码时,通常会遇到要重新启动程序的事情,我们可以先打开一个新的程序,然后再关闭原来的程序,当然也能直接切换。

方法一:

打开新程序可以用 system() 这个函数解决。system(" start 现在正在运行的程序的文件名.exe ") 。一定要加双引号!!!

示例:(“ test.exe ”可以换成其他的文件)

system("start test.exe");

然后可以从电脑自动按下键盘,使用 keybd_event() 函数。

        Windows 提供了一个模拟键盘 API 函数 Keybd_event() ,使用该函数可以相应的屏蔽键盘的动作。Keybd_event() 函数能触发一个按键事件,也就是说会产生 WM_KEYDOWN 或 WM_KEYUP 消息。

        Keybd_event()共有四个参数:

        第一个为按键的虚拟键值。(参见虚拟键码 (Winuser.h) - Win32 apps | Microsoft Learn);

        第二个参数为扫描码,一般不用设置,用 0 代替就行;

        第三个参数为选项标志,如果为按下则置 0 即可,如果为松开则设成2;

        第四个参数一般也是置 0 即可。

        Windows 系统下需要调用 <windows.h> , Linux 系统下需要调用 <unistd.h>。

先按下 alt ,再按下 F4(即 alt+F4 组合键),最后一定一定要停止按下键盘,否则~~~               

keybd_event(0x12,0,0,0);//按下alt
keybd_event(0x73,0,0,0);//按下F4
keybd_event(0x12,0,2,0);//松开alt
keybd_event(0x73,0,2,0);//松开F4

最后,要想重启程序,可以使用如下代码,直接放在 int main() 主函数内,不需要新建函数。

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main(){
    Sleep(3000);//常与Sleep()搭配,程序执行到这里,自动停止3秒(3000毫秒)。(需包含<windows.h>头文件)
    system("start test.exe");
    keybd_event(0x12,0,0,0);
    keybd_event(0x73,0,0,0);
    keybd_event(0x12,0,2,0);
    keybd_event(0x73,0,2,0);
}

方法二:

如上方法有种缺点,即如果打开其他应用将误关这个应用。

要解决的话可以用更简单的方法:

system("test.exe")

这样虽然简单,但只能直接切换为test.exe,没有切换的感觉。

如下:

#include<bits/stdc++.h>
using namespace std;
int main(){
    system("test.exe");
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值