#pragma once #define SHA256_DIGEST_LENGTH 32 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #pragma comment(lib, "Iphlpapi.lib") #pragma comment(lib, "ws2_32.lib") #pragma comment(lib, "Netapi32.lib") DWORD convert_utf8_to_unicode_string( __out std::wstring& unicode, __in const char* utf8, __in const size_t utf8_size ); DWORD convert_utf8_to_unicode_pointer( __out wchar_t ** unicode, __in const char* utf8, __in const size_t utf8_size ); DWORD convert_unicode_to_utf8_string( __out std::string& utf8, __in const wchar_t* unicode, __in const size_t unicode_size ); DWORD convert_unicode_to_ansi_string( __out std::string& ansi, __in const wchar_t* unicode, __in const size_t unicode_size ); DWORD convert_ansi_to_unicode_string( __out std::wstring& unicode, __in const char* ansi, __in const size_t ansi_size ); DWORD convert_utf8_to_ansi_pointer(string& utf8_to_ansi); DWORD convert_ansi_to_utf8_pointer(string& ansi_to_utf8); DWORD GetTime(); DWORD GetParentID(DWORD p_ID); BOOL IsWin8OSAbove(); BOOL IsWow64(); BOOL IsWinVistaOSAbove(); BOOL WINAPI NtNameToDosNameW(LPWSTR dosName, SIZE_T size, LPWSTR ntName); BOOL UtilExistRegKey(HKEY root, const wchar_t* key); wstring UtilGetRegValue(HKEY root, const wchar_t* key, const wchar_t* name); wstring UtilGetUserWindowID(); std::wstring UtilGetIP(); std::wstring UtilGetMac(); BOOL UtilGetIPMac(wstring& strIP, wstring& strMac); bool CreateNestedDirectories(const std::wstring& path); BOOL UtilRunProcessNoWait(const wchar_t* path, bool wait); DWORD UtilCreateProcessAsModal(LPCWSTR szCommandLine); bool UtilTerminateProcessByName(const std::wstring& processName, uint32_t pid); std::string UtilGetCurrentTimestampISO8601(tm& tm_info); HWND FindMainWindow(DWORD dwProcessId); std::wstring ToLower(const std::wstring& str); std::wstring ToUpper(const std::wstring& str); std::string ToLowerA(const std::string& str); std::string ToUpperA(const std::string& str); void ReplaceAll(std::wstring& message, const std::wstring& pattern, const std::wstring& replace); // ¹®ÀÚ¿­ ºñ±³ (¿ÞÂÊ n±ÛÀÚ) bool StartsWith(const std::wstring& str, const std::wstring& prefix); // ¹®ÀÚ¿­ Æ÷ÇÔ ¿©ºÎ bool Contains(const std::wstring& str, const std::wstring& substr); // ¹®ÀÚ¿­ µ¡¼À std::wstring operator+(const std::wstring& a, const char* b); // ÁÂ¿ì °ø¹éÀ» Á¦°ÅÇÏ´Â Trim ÇÔ¼ö std::wstring Trim(const std::wstring& str); std::wstring UtilGenerateRandomString(int length); wstring UtilGetCommandLineArgment1();