OBS源码阅读笔记--绿化配置文件路径

OBS的配置文件路径现在是在C:\Users\Administrator\AppData\Roaming\obs-studio这种目录里面;

如果生成了exe,想要去掉“设置”按钮,让我们事先设置好配置用户不需要关心设置里面繁杂的内容,那么就要改变这个路径;

最好的方案就是将该路径设置为当前exe所在的目录;通过阅读代码,发现只要修改一下几个函数,就可以将配置文件整个路径

修改到exe中:

GetProgramDataPath

GetProgramDataPathPtr

GetConfigPath

GetConfigPathPtr


GetConfigPath修改如下:

int my_os_get_config_path(char *path, size_t size, const char *name) 
{
QString qsPath;
QDir dir;
qsPath = dir.currentPath();
std::string sPath = TOOL::QStr2Str(qsPath);
strcpy(path, sPath.c_str());
if (!name || !*name) {
return strlen(path);
}


if (strcat_s(path, size, "\\") == 0) {
if (strcat_s(path, size, name) == 0) {
return (int)strlen(path);
}
}
return 0;
}


int GetConfigPath(char *path, size_t size, const char *name)
{
if (!OBS_UNIX_STRUCTURE && portable_mode) {
if (name && *name) {
return snprintf(path, size, CONFIG_PATH "/%s", name);
} else {
return snprintf(path, size, CONFIG_PATH);
}
} else {
//int iRet = os_get_config_path(path, size, name);
return my_os_get_config_path(path, size, name);
}
}

//GetConfigPathPtr修改如下:

char *my_os_get_config_path_ptr(const char *name)
{
char *ptr;
wchar_t path_utf16[MAX_PATH];
struct dstr path;


QString qsPath;
QDir dir;
qsPath = dir.currentPath();
std::string sPath = TOOL::QStr2Str(qsPath);


dstr_init_copy(&path, sPath.c_str());
dstr_cat(&path, "\\");
dstr_cat(&path, name);
return path.array;
}


char *GetConfigPathPtr(const char *name)
{
if (!OBS_UNIX_STRUCTURE && portable_mode) {
char path[512];


if (snprintf(path, sizeof(path), CONFIG_PATH "/%s", name) > 0) {
return bstrdup(path);
} else {
return NULL;
}
} else {
return my_os_get_config_path_ptr(name);
//return os_get_config_path_ptr(name);
}
}

另外两个:

int GetProgramDataPath(char *path, size_t size, const char *name)
{
return my_os_get_config_path(path, size, name);
//return os_get_program_data_path(path, size, name);//jiang
}


char *GetProgramDataPathPtr(const char *name)
{
return my_os_get_config_path_ptr(name);
//return os_get_program_data_path_ptr(name);
}


把c盘的配置文件删除,这样就大功告成,试试运行exe,是不是在exe当前目录会自动生成obs-studio目录,并且c盘路径下不再生成obs-studio目录了。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值