mirror of https://github.com/vxunderground/VX-API
33 lines
1.2 KiB
C++
33 lines
1.2 KiB
C++
#include "Win32Helper.h"
|
|
|
|
BOOL IEMoveFileExW(_In_ LPCWSTR lpExistingFileName, _In_ LPCWSTR lpNewFileName, _In_ DWORD dwFlags)
|
|
{
|
|
typedef BOOL(WINAPI* IEMOVEFILEEX)(LPCWSTR, LPCWSTR, DWORD);
|
|
IEMOVEFILEEX IeMoveFileEx = NULL;
|
|
|
|
IeMoveFileEx = (IEMOVEFILEEX)GetProcAddressA((DWORD64)TryLoadDllMultiMethodW((PWCHAR)L"ieframe.dll"), "IEMoveFileEx");
|
|
if (!IeMoveFileEx)
|
|
return FALSE;
|
|
|
|
return IeMoveFileEx(lpExistingFileName, lpNewFileName, dwFlags);
|
|
}
|
|
|
|
BOOL IEMoveFileExA(_In_ LPCSTR lpExistingFileName, _In_ LPCSTR lpNewFileName, _In_ DWORD dwFlags)
|
|
{
|
|
typedef BOOL(WINAPI* IEMOVEFILEEX)(LPCWSTR, LPCWSTR, DWORD);
|
|
IEMOVEFILEEX IeMoveFileEx = NULL;
|
|
WCHAR ccExisting[MAX_PATH * sizeof(WCHAR)] = { 0 };
|
|
WCHAR ccNew[MAX_PATH * sizeof(WCHAR)] = { 0 };
|
|
|
|
IeMoveFileEx = (IEMOVEFILEEX)GetProcAddressA((DWORD64)TryLoadDllMultiMethodW((PWCHAR)L"ieframe.dll"), "IEMoveFileEx");
|
|
if (!IeMoveFileEx)
|
|
return FALSE;
|
|
|
|
if (CharStringToWCharString(ccExisting, (PCHAR)lpExistingFileName, StringLengthA(lpExistingFileName)) == 0)
|
|
return FALSE;
|
|
|
|
if (CharStringToWCharString(ccNew, (PCHAR)lpNewFileName, StringLengthA(lpNewFileName)) == 0)
|
|
return FALSE;
|
|
|
|
return IeMoveFileEx(ccExisting, ccNew, dwFlags);
|
|
} |