#pragma once #include "xbase.hpp" #include "kobject/kutil.hpp" using kutil = Hxsoft::XFrame::IXFUtil; class xutil { public: static HCURSOR SetCursorWait() { return Hxsoft::XFrame::IXFUtil::SetCursorWait(); } static int RestoreCursor(HCURSOR hCursor) { return Hxsoft::XFrame::IXFUtil::RestoreCursor(hCursor); } static const wchar_t* GetUrlData(const wchar_t* url) { return kutil::GetUrlData((LPWSTR)url); } static bool HasCacheData(const wchar_t* url) { return kutil::HasCacheData((LPWSTR)url); } static void CacheUrlData(const wchar_t* url,const wchar_t* data) { 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) { return kutil::SaveToFile((LPWSTR)pFile,(LPWSTR)pData,(LPWSTR)ext,(LPWSTR)pFileName); } static LPWSTR MD5(const wchar_t* pStr) { return kutil::MD5((LPWSTR)pStr); } static bool SmallImage(LPCTSTR lpszPathName, LPCTSTR lpszNewPathName, int width, int height, int flag=0) { return kutil::SmallImage(lpszPathName,lpszNewPathName,width,height,flag); } static LPWSTR OpenDialog(HWND Owner,const wchar_t* str) { return kutil::OpenDialog(Owner,(LPWSTR)str); } static LPTSTR FormatDecimalString(LPTSTR str, LPTSTR format, bool& bfree) { return Hxsoft::XUtil::FormatDecimalString(str, format, bfree); } public: static xstring GetModulePath() { wchar_t buf[255]; GetModuleFileName(0, buf, 255); PathRemoveFileSpec(buf); return xstring(buf); } static xstring GetModuleTmpPath() { xstring tmp = GetModulePath() + L"\\Temp"; xaserver::CreateDirectory(tmp); return tmp; } };