⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 virtual_win32_api.h

📁 Virtual Win32 API For BSD UNIX, 可在UNIX下直接编译呼叫标准Win32 API之C/C++原始码, 单一原始码可跨平台, 可在Windows下使用Visual C++
💻 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 + -