OSDN Git Service

Added is_library_file() function.
authorLoRd_MuldeR <mulder2@gmx.de>
Sun, 8 May 2016 17:24:09 +0000 (19:24 +0200)
committerLoRd_MuldeR <mulder2@gmx.de>
Sun, 8 May 2016 17:24:09 +0000 (19:24 +0200)
include/MUtils/OSSupport.h
src/OSSupport_Win32.cpp

index 4d425ff..d470d03 100644 (file)
@@ -140,8 +140,9 @@ namespace MUtils
                //Sleep
                MUTILS_API void sleep_ms(const size_t &duration);
 
-               //Is executable file?
+               //Is executable/library file?
                MUTILS_API bool is_executable_file(const QString &path);
+               MUTILS_API bool is_library_file(const QString &path);
 
                //Shutdown & Hibernation
                MUTILS_API bool is_hibernation_supported(void);
index 604b9cc..46bbb4e 100644 (file)
@@ -1011,6 +1011,18 @@ bool MUtils::OS::is_executable_file(const QString &path)
        return bIsExecutable;
 }
 
+bool MUtils::OS::is_library_file(const QString &path)
+{
+       bool bIsLibrary = false;
+       const HMODULE hMod = LoadLibraryEx(MUTILS_WCHR(QDir::toNativeSeparators(path)), NULL, LOAD_LIBRARY_AS_IMAGE_RESOURCE);
+       if (hMod)
+       {
+               bIsLibrary = true;
+               FreeLibrary(hMod);
+       }
+       return bIsLibrary;
+}
+
 ///////////////////////////////////////////////////////////////////////////////
 // HIBERNATION / SHUTDOWN
 ///////////////////////////////////////////////////////////////////////////////