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

📄 cnfileop.cpp

📁 这是一个远程控制程序
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <windows.h>
#pragma hdrstop

#include "CNFileOP.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
HANDLE FileOpen(const TCNString FileName, DWORD Mode)
{
        DWORD AccessMode[3] = {
                GENERIC_READ,
                GENERIC_WRITE,
                GENERIC_READ | GENERIC_WRITE};
        DWORD ShareMode[5] = {
                0,
                0,
                FILE_SHARE_READ,
                FILE_SHARE_WRITE,
                FILE_SHARE_READ | FILE_SHARE_WRITE};
        return CreateFile(FileName.c_str(),
                        AccessMode[Mode & 3],
                        ShareMode[(Mode & 0xF0) >> 4],
                        NULL,
                        OPEN_EXISTING,
                        FILE_ATTRIBUTE_NORMAL, 0);
}
HANDLE FileCreate(const TCNString FileName)
{
        return CreateFile(FileName.c_str(),
                GENERIC_READ | GENERIC_WRITE,
                0, NULL, CREATE_ALWAYS,
                FILE_ATTRIBUTE_NORMAL, 0);
}
long FileRead(HANDLE Handle, void *Buffer,DWORD Count)
{
        long Result;
        if( !ReadFile(Handle, Buffer, Count, &(DWORD)Result, NULL))
        {
                Result = -1;
        }
        return Result;
}
long FileWrite(HANDLE Handle,void *Buffer,DWORD Count)
{
        long Result;
        if( !WriteFile(Handle, Buffer, Count, &(DWORD)Result, NULL))
        {
                Result = -1;
        }
        return Result;
}
DWORD FileSeek(HANDLE Handle, int Offset, int Origin)
{
        return SetFilePointer(Handle, Offset,NULL, Origin);
}

void FileClose(HANDLE Handle)
{
        CloseHandle(Handle);
}
long FileAge(const TCNString FileName)
{
        HANDLE Handle;
        WIN32_FIND_DATA FindData;

        FILETIME LocalFileTime;

        long Result;
        WORD  Date,Time;

        Handle = FindFirstFile(FileName.c_str(), &FindData);

        if (Handle != INVALID_HANDLE_VALUE)
        {
                FindClose(Handle);
                if ((FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0 )
                {
                        FileTimeToLocalFileTime(&FindData.ftLastWriteTime, &LocalFileTime);
                        if (FileTimeToDosDateTime(&LocalFileTime, &Date,&Time))
                        {
                                Result = Date << 16 | Time;
                                return Result;
                        }
                }
        }
        Result = -1;

        return Result;
}
BOOL FileExists(const TCNString FileName)
{
        return (FileAge(FileName) != -1);
}
int FileGetDate(HANDLE Handle)
{
        FILETIME FileTime, LocalFileTime;
        WORD Date,Time;

         if (GetFileTime(Handle, NULL, NULL, &FileTime) &&
             FileTimeToLocalFileTime(&FileTime, &LocalFileTime)&&
             FileTimeToDosDateTime(&LocalFileTime, &Date,&Time))
        {
                return Date << 16 | Time;
        }
        return -1;
}
DWORD FileSetDate(HANDLE Handle, DWORD Age)
{
        FILETIME LocalFileTime, FileTime;
        WORD Date,Time;

        if (DosDateTimeToFileTime(((Age >> 16) & 0xffff),(Age & 0xffff), &LocalFileTime) &&
            LocalFileTimeToFileTime(&LocalFileTime, &FileTime) &&
            SetFileTime(Handle, NULL, NULL, &FileTime))
        {
                return 0;
        }
        return GetLastError();
}
DWORD FileGetAttr(const TCNString FileName)
{
        return GetFileAttributes(FileName.c_str());
}
DWORD FileSetAttr(const TCNString FileName,DWORD Attr)
{
        if (!SetFileAttributes(FileName.c_str(), Attr))
        {
                return GetLastError();
        }
        return 0;
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -