From 0b8444d0eef50d1ee4e0d0b51e174fa5b447d802 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期三, 17 七月 2024 17:50:35 +0800 Subject: [PATCH] base code --- jrj/xframe/wobject/xutil.hpp | 32 ++++++++++++++++++++++++++++++-- 1 files changed, 30 insertions(+), 2 deletions(-) diff --git a/jrj/xframe/wobject/xutil.hpp b/jrj/xframe/wobject/xutil.hpp index e20ef30..5a702e7 100644 --- a/jrj/xframe/wobject/xutil.hpp +++ b/jrj/xframe/wobject/xutil.hpp @@ -2,8 +2,13 @@ #include "xbase.hpp" #include "kobject/kutil.hpp" +#include "wobject/xaserver.hpp" +#include "win32/win.hpp" using kutil = Hxsoft::XFrame::IXFUtil; +extern "C" { + void* WINAPI GetProcAddressW(HMODULE hModule, const char* lpText); +} class xutil { public: @@ -32,9 +37,9 @@ return kutil::CacheUrlData((LPWSTR)url,(LPWSTR)data); } - static int SaveToFile(const LPTSTR pFile,const LPTSTR pData,const LPTSTR ext, const LPTSTR pFilter, const LPTSTR pFileName=NULL) + static int SaveToFile(xstring pFile,xstring pData,xstring ext, xstring pFilter, const LPTSTR pFileName=NULL) { - return kutil::SaveToFile((LPWSTR)pFile,(LPWSTR)pData,(LPWSTR)ext,(LPWSTR)pFileName); + return kutil::SaveToFile((LPWSTR)pFile.c_str(), (LPWSTR)pData.c_str(), (LPWSTR)ext.c_str(), (LPWSTR)pFileName); } static LPWSTR MD5(const wchar_t* pStr) { @@ -53,4 +58,27 @@ return Hxsoft::XUtil::FormatDecimalString(str, format, bfree); } +public: + static xstring GetModulePath() + { + wchar_t buf[255]; + ::GetModuleFileNameW(nullptr, buf, 255); + PathRemoveFileSpec(buf); + return xstring(buf); + } + + static xstring GetModuleTmpPath() + { + xstring tmp = GetModulePath() + L"\\Temp"; + xaserver::CreateDirectory(tmp); + return tmp; + } + + static void* GetFuncPtr(const wchar_t* dll, const char* name) + { + void* fnAttachEvent = nullptr; + HMODULE hModule = LoadLibraryW(dll); + if (hModule)fnAttachEvent = ::GetProcAddressW(hModule, name); + return fnAttachEvent; + } }; \ No newline at end of file -- Gitblit v1.9.3