📄 virtual_win32_api.h
字号:
#ifndef WIN32
#define MAX_PATH 512
#define INVALID_HANDLE_VALUE 0
#define INVALID_FILE_SIZE (long)0xFFFFFFFF
#define GENERIC_READ (0x80000000L)
#define GENERIC_WRITE (0x40000000L)
#define GENERIC_EXECUTE (0x20000000L)
#define GENERIC_ALL (0x10000000L)
#define FILE_SHARE_READ 0x00000001
#define FILE_SHARE_WRITE 0x00000002
#define FILE_SHARE_DELETE 0x00000004
#define FILE_ATTRIBUTE_READONLY 0x00000001
#define FILE_ATTRIBUTE_HIDDEN 0x00000002
#define FILE_ATTRIBUTE_SYSTEM 0x00000004
#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
#define FILE_ATTRIBUTE_ENCRYPTED 0x00000040
#define FILE_ATTRIBUTE_NORMAL 0x00000080
#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
#define FILE_ATTRIBUTE_OFFLINE 0x00001000
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
#define FILE_BEGIN 0
#define FILE_CURRENT 1
#define FILE_END 2
#define CREATE_NEW 1
#define CREATE_ALWAYS 2
#define OPEN_EXISTING 3
#define OPEN_ALWAYS 4
#define TRUNCATE_EXISTING 5
#define HANDLE unsigned long
#define DWORD unsigned long
#define LPDWORD unsigned long*
#define LPOVERLAPPED void*
#define LPVOID void*
#define LPCVOID void*
#define LPCTSTR char*
#define LPTSTR char*
#define LPCSTR char*
#define BOOL int
#define TRUE 1
#define FALSE 0
typedef struct _FILETIME
{
long dwLowDateTime;
long dwHighDateTime;
} FILETIME, *PFILETIME;
typedef struct _SECURITY_ATTRIBUTES
{
DWORD nLength;
LPVOID lpSecurityDescriptor;
BOOL bInheritHandle;
} SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
typedef struct _WIN32_FIND_DATA
{
long dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
long nFileSizeHigh;
long nFileSizeLow;
long dwReserved0;
long dwReserved1;
char cFileName[MAX_PATH];
char cWorkingDir[MAX_PATH];
} WIN32_FIND_DATA, *PWIN32_FIND_DATA , *LPWIN32_FIND_DATA;
/* Virtual Win32 Structures */
typedef struct _FILEHANDLE
{
int h_type;
char cFileName[MAX_PATH];
FILE* filepointer;
} V32_FILE_HANDLE , *LP_V32_FILE_HANDLE;
typedef struct _HOBJECTS
{
int h_type;
} V32_HANDLE , *LP_V32_HANDLE;
// File accessing APIs
HANDLE FindFirstFile(char* lpFileName,LPWIN32_FIND_DATA lpFindFileData); /* emulating FindFirstFile */
BOOL FindNextFile(HANDLE hFindFile,LPWIN32_FIND_DATA lpFindFileData); /* emulating FindNextFile */
BOOL FindClose(HANDLE hFindFile); /* emulating FindClose */
DWORD GetFileSize(HANDLE hFile/* handle to file*/,LPDWORD lpFileSizeHigh/*high-order word of file size*/);
DWORD GetCurrentDirectory(DWORD nBufferLength,LPCTSTR lpBuffer);
// File I/P APIs
HANDLE CreateFile(LPCTSTR lpFileName,DWORD dwDesiredAccess,DWORD dwShareMode,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD dwCreationDisposition,DWORD dwFlagsAndAttributes,HANDLE hTemplateFile);
BOOL ReadFile(HANDLE hFile,LPVOID lpBuffer,DWORD nNumberOfBytesToRead,LPDWORD lpNumberOfBytesRead,LPOVERLAPPED lpOverlapped);
BOOL WriteFile(HANDLE hFile,LPCVOID lpBuffer,DWORD nNumberOfBytesToWrite,LPDWORD lpNumberOfBytesWritten,LPOVERLAPPED lpOverlapped);
BOOL CloseHandle(HANDLE hObject);
#endif
char* _strlwr(char *string); /* emulating strlwr */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -