每个 pc 会话仅执行一次函数(pc 启动)

Execute function only once every pc session (pc start)

我有一个我没有制作的驱动程序,我手动映射了它。以函数 ManualMap(); 为例。

每次我 运行 我的程序都会调用该函数。它基本上在 main();

现在我要做的是让那个函数在每个会话中只被调用一次。因此,如果 PC 重新启动,将调用该函数,如果您 运行 在同一个 pc 会话期间再次运行该程序,则不会 运行 该函数。 现在,如果您重新启动 PC,该函数将在您 运行 程序时被调用。

bool main(){
    if (has_run_before_during_this_session()){
        return;
    }
    ManualMap();
    Save_Something_To_Run_Check_Next_Time();
}

您将不得不使用 canary。最简单的方法是每次 运行 ManualMap().

在磁盘上创建一个文件

然后您需要确保当您的计算机启动时该文件被删除。这将取决于 OS。您创建一个将删除该文件的脚本,然后确保它在启动时 运行s (Windows, Linux)。