75inline bool setEnvEx(
const std::string& varName,
const std::string& varValue) {
78 LONG result = RegOpenKeyExA(HKEY_CURRENT_USER,
"Environment", 0, KEY_SET_VALUE, &hKey);
79 if (result != ERROR_SUCCESS) {
84 result = RegSetValueExA(hKey, varName.c_str(), 0, REG_SZ, (
const BYTE*)varValue.c_str(), varValue.size() + 1);
87 if (result != ERROR_SUCCESS) {
93 SendMessageTimeoutA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)
"Environment", SMTO_ABORTIFHUNG, 5000,
nullptr);
bool setEnv(const char *name, const char *value, bool overrideExist=true)
環境変数をプロセス内で設定する(現在のプロセスのみ有効)
std::string replace(std::string str, const std::string from, const std::string to)
文字列中のすべての from を to に置換した新しい文字列を返す(値返し版)