From: Stefan Dösinger <stefan(a)codeweavers.com> Taken from wined3d_get_app_name. --- libs/vkd3d/utils.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/libs/vkd3d/utils.c b/libs/vkd3d/utils.c index 5ebe1b63e..296460615 100644 --- a/libs/vkd3d/utils.c +++ b/libs/vkd3d/utils.c @@ -879,6 +879,33 @@ bool vkd3d_get_program_name(char program_name[PATH_MAX]) return true; } +#elif defined(WIN32) + +bool vkd3d_get_program_name(char program_name[PATH_MAX]) +{ + char buffer[MAX_PATH]; + unsigned int len; + char *p, *name; + + *program_name = '\0'; + len = GetModuleFileNameA(0, buffer, ARRAY_SIZE(buffer)); + if (!(len && len < MAX_PATH)) + return false; + + name = buffer; + if ((p = strrchr(name, '/' ))) + name = p + 1; + if ((p = strrchr(name, '\\'))) + name = p + 1; + + len = strlen(name) + 1; + if (PATH_MAX < len) + return false; + + memcpy(program_name, name, len); + return true; +} + #else bool vkd3d_get_program_name(char program_name[PATH_MAX]) -- GitLab https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/541