From: Stefan Dösinger stefan@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 751971220..0284896ac 100644 --- a/libs/vkd3d/utils.c +++ b/libs/vkd3d/utils.c @@ -881,6 +881,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])