diff options
Diffstat (limited to 'src/env.cpp')
| -rw-r--r-- | src/env.cpp | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/src/env.cpp b/src/env.cpp index 98d2e6ea..76473dfb 100644 --- a/src/env.cpp +++ b/src/env.cpp @@ -6,6 +6,7 @@ #include "envwindows.h" #include "envdump.h" #include "settings.h" +#include "shared/util.h" #include <log.h> #include <utility.h> @@ -344,7 +345,9 @@ void Environment::dump(const Settings& s) const log::debug("modules loaded in process:"); for (const auto& m : loadedModules()) { - log::debug(" . {}", m.toString()); + if (m.interesting()) { + log::debug(" . {}", m.toString()); + } } log::debug("displays:"); @@ -1009,7 +1012,7 @@ bool registryValueExists(const QString& keyName, const QString& valueName) // returns the filename of the given process or the current one // -std::wstring processFilename(HANDLE process=INVALID_HANDLE_VALUE) +std::filesystem::path processPath(HANDLE process=INVALID_HANDLE_VALUE) { // double the buffer size 10 times const int MaxTries = 10; @@ -1045,7 +1048,7 @@ std::wstring processFilename(HANDLE process=INVALID_HANDLE_VALUE) const std::wstring s(buffer.get(), writtenSize); const std::filesystem::path path(s); - return path.filename().native(); + return path; } } @@ -1062,6 +1065,21 @@ std::wstring processFilename(HANDLE process=INVALID_HANDLE_VALUE) return {}; } +std::wstring processFilename(HANDLE process=INVALID_HANDLE_VALUE) +{ + const auto p = processPath(process); + if (p.empty()) { + return {}; + } + + return p.filename().native(); +} + +std::filesystem::path thisProcessPath() +{ + return processPath(); +} + DWORD findOtherPid() { const std::wstring defaultName = L"ModOrganizer.exe"; @@ -1126,6 +1144,19 @@ std::wstring tempDir() return std::wstring(buffer, buffer + written); } +std::wstring safeVersion() +{ + try + { + // this can throw + return MOShared::createVersionInfo().displayString(3).toStdWString() + L"-"; + } + catch(...) + { + return {}; + } +} + HandlePtr tempFile(const std::wstring dir) { // maximum tries of incrementing the counter @@ -1139,7 +1170,7 @@ HandlePtr tempFile(const std::wstring dir) // i can go until MaxTries std::wostringstream oss; oss - << L"ModOrganizer-" + << L"ModOrganizer-" << safeVersion() << std::setw(4) << (1900 + tm->tm_year) << std::setw(2) << std::setfill(L'0') << (tm->tm_mon + 1) << std::setw(2) << std::setfill(L'0') << tm->tm_mday << "T" |
