开机自启动:修改了注册表 HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run 。
但是开机自启动后 找不到指定路径的 文件。最后发现是 路径问题。
我当时使用的是 QT 的取路径函数:
QDir::currentPath()
这个是取 exe 所在的文件夹。可能自启时候 exe 的文件夹路径会改变。换成 取 exe 的地址就行了。
也没有试 QT 的 其他取路径函数,直接使用 c++ 标准库的取路径函数。
注意 c++ 标准库 的取函数函数 不要使用 GetCurrentDirectory() ,会和 QT 的情况一样。要使用 GetModuleFileName() 函数。
#include <Windows.h>
char szPATH[200];
GetModuleFileNameA(nullptr,szPATH,200);
QString dbPath = QString(QLatin1String(szPATH)).mid(0,QString(QLatin1String(szPATH)).lastIndexOf("\\")).replace("\\","/")+"/xxx.db";