亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? path.hpp

?? cabinet file (.CAB) file handlig.
?? HPP
字號(hào):
//---------------------------------------------------------------------------
// Copyright (C) 1998, Interscope Ltd. All rights reserved.
// Reproduction or distribution of this program, or any portion of it, 
// is permitted only if this header is kept as it is.
// For more information, contact:
//
// Interscope Ltd., 5 Culturii St., 5th Floor, 4800 Baia Mare, RO
//    Phone/Fax: +40-62-215023
//    E-mail: office@interscope.ro
//
//   $Author: Levente Farkas $
//     $Date: 9/14/98 4:04a $
//  $Modtime: 9/14/98 2:52a $
// $Revision: 65 $
//  $Archive: /Interscope/Callisto/Path.Hpp $
// $Workfile: Path.Hpp $
//-----------------------------------------------------------------------

#ifndef __Path_Hpp__
#define __Path_Hpp__

// This class is usable both with and without MFC
// When used with MFC, it also has support 4 saving and loading from CArchive
//
// Define the following symbol if compiling using precompiled headers through 
// header file StdAfx.H
// #define __STDAFX__
//
// Define the following symbol if used in a MFC project
// #define __MFC__

#ifdef __MFC__
#undef __STDAFX__
#define __STDAFX__
#endif

#include <Sys\Types.H>
#include <Dos.H>
#include <String>
#include <Windows.H>

#include "Portable.H"
#include "DrvType.H"


using namespace std;


//--- Some special path types --------------------------------------------

// If you have static CPaths in your program, you cannot use these
// predefined paths because Windows support may not be enabled yet

enum SpecialDirectoryType
{
    CURRENT_DIRECTORY =0,
	WINDOWS_DIRECTORY,
	SYSTEM_DIRECTORY,
    SYSTEM_DRIVE_ROOT_DIRECTORY,
	MODULE_DIRECTORY,   // Only available in MFC projects
	TEMP_DIRECTORY,
    PROGRAM_FILES_DIRECTORY,
    COMMON_FILES_DIRECTORY,
    ACCESSORIES_DIRECTORY,
    MEDIA_DIRECTORY,
    DEVICE_DIRECTORY,
    USER_DESKTOP_DIRECTORY,
    USER_FAVORITES_DIRECTORY,
    USER_FONTS_DIRECTORY,
    USER_NETHOOD_DIRECTORY,
    USER_DOCUMENTS_DIRECTORY,
    USER_RECENT_DIRECTORY,
    USER_SENDTO_DIRECTORY,
    USER_TEMPLATES_DIRECTORY,
    USER_RECYCLE_DIRECTORY,
    USER_APPLICATION_DATA_DIRECTORY,
    USER_STARTMENU_DIRECTORY,
    USER_STARTMENU_STARTUP_DIRECTORY,
    USER_STARTMENU_PROGRAMS_DIRECTORY,
    COMMON_DESKTOP_DIRECTORY,
    COMMON_STARTMENU_DIRECTORY,
    COMMON_STARTMENU_STARTUP_DIRECTORY,
    COMMON_STARTMENU_PROGRAMS_DIRECTORY,
    LAST_SPECIAL
};


//--- Constants and defines ---------------------------------------------

LPCTSTR const DLL_EXTENSION = _T("dll");
LPCTSTR const INI_EXTENSION = _T("ini");
LPCTSTR const EXE_EXTENSION = _T("exe");
LPCTSTR const WILD_NAME_EXTENSION = _T("*.*");


//--- Forwards -----------------------------------------------------------

#ifdef __MFC__
class CPath;
CArchive& operator <<(CArchive& rArchive, const CPath& rPath);
CArchive& operator >>(CArchive& rArchive, CPath& rPath);
#endif


//--- Exception class 4 path(s) ------------------------------------------

class CPathException
{
public:
    DWORD m_dwErrorCode;

public:
    CPathException(DWORD code =0): m_dwErrorCode(code) {}
};


//--- Path class --------------------------------------------------------

// This class is used to represent pathnames, that is the name and 
// location of a file. CPaths are used when you want to refer to a file
// as a whole, or to the location of a file, as opposed to CFile, which is 
// used when you want to change the contents of the file
//
// The data representation for CPath consists of two data members. The 
// first, m_strPath, is a CString. This allows for easy operators to and 
// from strings. Using a string to represent the path allows for fully 
// qualified as well as relative paths. The class is fundamentally built 
// on the C runtime functions _splitpath and _makepath.
// 
// This class should suppport long filenames when compiled with a version
// of C++ runtime designed for them (e.g. Windows 95). It does not support
// UNC's as of yet (UNCs are of the form \\<server>\dir\dir\name.ext)

class CPath
{
// Data members
protected:
    string  m_strPath;
	DWORD   m_dwFindFileAttributes;
	HANDLE	m_hFindFile;

// Construction and destruction
public:    
    CPath();
    CPath(const CPath& rPath);
    CPath(LPCTSTR lpszPath);
    CPath(const string& strPath);
    CPath(SpecialDirectoryType special_dir);
    virtual ~CPath();

// Setup and cleanup
    inline void Init();
	inline void Exit();

// Operators
    CPath& operator  =(const CPath& rPath);
    CPath& operator  =(LPCTSTR lpszPath);
    CPath& operator  =(const string& strPath);
    BOOL   operator ==(const CPath& rPath) const;
    BOOL   operator !=(const CPath& rPath) const;
    operator LPCTSTR() const;
	operator string&() { return m_strPath; }

// Get path components
    void GetDrive(string& rDrive) const;
    void GetDriveDirectory(string& rDriveDirectory) const;
    void GetDirectory(string& rDirectory) const;
    void GetName(string& rName) const;
    void GetNameExtension(string& rNameExtension) const;
    void GetExtension(string& rExtension) const;
    void GetFullyQualified(string& rFullyQualified) const;
    void GetFullyQualifiedShort(string& rFullyQualifiedShort) const;
	void GetComponents(string* pDrive     =NULL, 
                       string* pDirectory =NULL, 
                       string* pName      =NULL, 
                       string* pExtension =NULL) const;

// Get other state
    BOOL IsEmpty() const { return m_strPath.empty(); }
    BOOL IsRelative() const;
    BOOL IsWild() const;
    BOOL IsValid() const; // Checks lexical correctness only

// Set path components
    void SetDrive(TCHAR chDrive);
    void SetDriveDirectory(LPCTSTR lpszDriveDirectory);
    void SetDirectory(LPCTSTR lpszDirectory, BOOL bEnsureAbsolute =FALSE);
    void SetName(LPCTSTR lpszName);
    void SetNameExtension(LPCTSTR lpszNameExtension);
    void SetExtension(LPCTSTR lpszExtension);

	void AppendDirectory(LPCTSTR lpszSubDirectory);
	void UpDirectory(string* pLastDirectory =NULL);

	void SetComponents(LPCTSTR lpszDrive, 
                       LPCTSTR lpszDirectory,
					   LPCTSTR lpszName, 
                       LPCTSTR lpszExtension);

// Set whole path
    void Empty() { m_strPath.erase(); }
    void MakeRoot();
    
    void CurrentDirectory();
    void WindowsDirectory();
    void SystemDirectory();
    void SystemDriveRootDirectory();
    void TempDirectory();
    void Module(HINSTANCE hInstance);
    void ModuleDirectory(HINSTANCE hInstance);

#ifdef __MFC__
    void Module();          // Uses AfxGetInstanceHandle 2 set itself 2 filename of current module
    void ModuleDirectory(); // Uses AfxGetInstanceHandle 2 set itself 2 location of current module
#endif

    void ProgramFilesDirectory();   // C:\Program Files
    void CommonFilesDirectory();    // C:\Program Files\Common Files
    void AccessoriesDirectory();    // C:\Program Files\Accessories
    void MediaDirectory();          // C:\Windows\Media
    void DeviceDirectory();         // C:\Windows\Inf

    void UserDesktopDirectory();
    void UserFavoritesDirectory();
    void UserFontsDirectory();
    void UserNetworkNeighbourhoodDirectory();
    void UserDocumentsDirectory();
    void UserRecentDirectory();
    void UserSendToDirectory();
    void UserTemplatesDirectory();
    void UserRecycleBinDirectory();
    void UserApplicationDataDirectory();
    void UserStartMenuDirectory();
    void UserStartMenuStartupDirectory();
    void UserStartMenuProgramsDirectory();

    void CommonDesktopDirectory();
    void CommonStartMenuDirectory();
    void CommonStartMenuStartupDirectory();
    void CommonStartMenuProgramsDirectory();

#ifdef __MFC__
    void PrivateProfile(); // .INI file in Windows directory
    void LocalProfile(LPCTSTR lpszName, LPCTSTR lpszExtension =NULL);
    void LocalProfile(UINT nNameResourceID, UINT nExtensionResourceID =0);
#endif

    void WindowsProfile(); // Win.INI
    void SystemProfile();  // System.INI

	BOOL CreateTempName(LPCTSTR lpcszPrefix);
    BOOL CreateTempDir(LPCTSTR lpcszPrefix, UINT nRetries =100);
    BOOL CreateRandomName(BOOL bMustNotExist =TRUE, UINT nRetries =1000);
	BOOL CreateSimilarName(BOOL bMustNotExist =TRUE, UINT nRetries =1000);

// Drive Information 
    UINT GetDriveType() const;
    BOOL IsRemovableDrive() const { return GetDriveType()==EX_DRIVE_REMOVABLE; }
    BOOL IsCDRomDrive() const     { return GetDriveType()==EX_DRIVE_CDROM; }
    BOOL IsNetworkDrive() const   { return GetDriveType()==EX_DRIVE_REMOTE; }
    BOOL IsRAMDrive() const       { return GetDriveType()==EX_DRIVE_RAMDISK; }

    DWORD DriveTotalSpaceBytes() const;
    DWORD DriveFreeSpaceBytes() const;
    DWORD GetDriveClusterSize() const;
    BOOL  GetDiskInfo(LPDWORD lpSectorsPerCluster,
                      LPDWORD lpBytesPerSector,
                      LPDWORD lpFreeClusters,
                      LPDWORD lpClusters) const;

// Directory information
    BOOL IsDirectory() const;
    BOOL DirectoryExists() const;
    BOOL IsDirectoryEmpty() const;

// File Information
    BOOL     IsFile() const { return !IsDirectory(); }
    BOOL     Exists() const;
    DWORD    GetSize() const; 
    DWORD    GetAttributes() const;
    BOOL     GetTime(FILETIME *lpCreated, FILETIME *lpAccessed, FILETIME *lpModified) const;
    FILETIME GetTimeCreated() const;
    FILETIME GetTimeLastModified() const;
    FILETIME GetTimeLastAccessed() const;

// Directory operations
    BOOL CreateDirectory(BOOL bCreateIntermediates =TRUE);
    void CreateDirectoryEx(BOOL bCreateIntermediates =TRUE); // Throws CPathException
	BOOL RemoveDirectory(BOOL bEvenIfNotEmpty =FALSE);
    BOOL RemoveDirectoryContent();
    BOOL ChangeDirectory();
	    
// File operations
	BOOL Delete(BOOL bEvenIfReadOnly =TRUE);
	BOOL Rename(LPCTSTR lpszNewPath);	
    BOOL CopyTo(LPCTSTR lpcszTargetFile, BOOL bOverwrite =TRUE);
    BOOL MoveTo(LPCTSTR lpcszTargetFile, BOOL bOverwrite =TRUE);
    BOOL SetAttributes(DWORD dwAttributes);
    BOOL SetTime(const FILETIME *lpCreated, const FILETIME *lpAccessed, const FILETIME *lpModified);
    BOOL SetTimeCreated(const FILETIME *lpCreated);
    BOOL SetTimeLastModified(const FILETIME *lpModified);
    BOOL SetTimeLastAccessed(const FILETIME *lpAccessed);

// Finders
    BOOL FindFirst(DWORD dwAttributes =_A_NORMAL);
    BOOL FindNext();

// Helpers
private:
    BOOL AttributesMatch(DWORD dwTargetAttributes, DWORD dwFileAttributes);

    BOOL ShellDirectory(int nShellFolderID);
    BOOL ShellDirectory2(int nShellFolderID);
    BOOL GetRegistryPath(HKEY hRootKey, LPCTSTR lpcszKeyName, LPCTSTR lpcszValueName, string &strPath);

// Friends
#ifdef __MFC__
    friend CArchive& operator <<(CArchive& rArchive, const CPath& rPath);
    friend CArchive& operator >>(CArchive& rArchive, CPath& rPath);
#endif
};


//--- Archive operator inlines ----------------------------------

#ifdef __MFC__
inline CArchive& operator <<(CArchive& rArchive, const CPath& rPath)
{
    CString temp(rPath.m_strPath.c_str());
    rArchive << temp;
    return rArchive;
}
#endif

#ifdef __MFC__
inline CArchive& operator >>(CArchive& rArchive, CPath& rPath)
{
    CString temp;
    rArchive >> temp;
    rPath.m_strPath =(LPCTSTR)temp;
    return rArchive;
}
#endif


#endif 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区和二区| 制服丝袜亚洲网站| 精品亚洲aⅴ乱码一区二区三区| 国产精品欧美一区二区三区| 日本韩国欧美在线| 97超碰欧美中文字幕| 国产成人精品免费网站| 国产精品一区二区在线观看不卡| 毛片不卡一区二区| 亚洲激情图片qvod| 亚洲免费观看高清| 国产精品久久久久久久久免费丝袜 | 久久中文娱乐网| 欧美精品一区二区三区四区 | 91精品国产黑色紧身裤美女| 在线亚洲一区二区| 91美女福利视频| 欧美在线小视频| 色爱区综合激月婷婷| 欧美亚洲综合在线| 欧美色男人天堂| 欧美午夜电影一区| 午夜精品福利久久久| 久久久高清一区二区三区| 欧美mv日韩mv国产| 欧美午夜一区二区三区免费大片| 成人亚洲精品久久久久软件| 韩国一区二区视频| bt7086福利一区国产| 日韩精品成人一区二区在线| 亚洲日本中文字幕区| 欧美一区二区视频在线观看2020| 99精品视频在线播放观看| 中文字幕中文字幕一区| 日韩一区中文字幕| 亚洲人成网站在线| 日韩一区精品字幕| 精品系列免费在线观看| 韩日欧美一区二区三区| 成人a区在线观看| 91麻豆视频网站| 色菇凉天天综合网| 欧美精品丝袜久久久中文字幕| 欧美一级精品在线| 中文字幕一区二区三区视频| 亚洲色图19p| 久久成人av少妇免费| 国产成人亚洲综合色影视| 91啪在线观看| 欧美变态口味重另类| 国产精品成人午夜| 日av在线不卡| 国产不卡在线一区| 不卡在线观看av| 欧美一区二区三区在线视频| 久久看人人爽人人| 亚洲国产aⅴ成人精品无吗| 久久er99精品| 国产成人av一区二区三区在线观看| 在线看一区二区| 精品少妇一区二区三区免费观看 | 一区二区三区.www| 经典三级在线一区| 色婷婷av久久久久久久| 日韩视频一区二区三区在线播放| 亚洲色图一区二区| 狂野欧美性猛交blacked| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 美脚の诱脚舐め脚责91| 成人精品电影在线观看| 日本高清视频一区二区| 欧美精品一区二区三区蜜桃| 亚洲柠檬福利资源导航| 蜜臀av一区二区在线免费观看| 8x福利精品第一导航| 中文字幕中文字幕一区二区| 91久久精品一区二区三区| 久久精品视频在线看| 亚洲成人一区在线| eeuss鲁片一区二区三区在线观看| 欧美视频一区二区三区在线观看| 国产精品不卡一区二区三区| 韩日av一区二区| 欧美一区二区在线看| 亚洲一二三区在线观看| 日本欧美加勒比视频| 高清不卡一区二区在线| 欧美日韩日日骚| 亚洲一区二区高清| 成人免费视频播放| 久久久久青草大香线综合精品| 亚洲五码中文字幕| 国产在线播放一区三区四| 欧美欧美欧美欧美首页| 中文久久乱码一区二区| 国产露脸91国语对白| 337p亚洲精品色噜噜噜| 丝袜脚交一区二区| 91黄色激情网站| 亚洲欧美视频一区| 国产成人高清视频| 久久亚洲一级片| 国产激情视频一区二区在线观看 | 91精品黄色片免费大全| 亚洲午夜激情网页| av欧美精品.com| 136国产福利精品导航| 国产成人在线视频免费播放| 91精品国产综合久久精品| 日韩电影在线免费观看| 欧美日本一道本在线视频| 天天免费综合色| 欧美日韩另类一区| 视频一区在线播放| 欧美一区二区在线看| 日韩精品一级中文字幕精品视频免费观看| 欧美丝袜自拍制服另类| 亚洲免费毛片网站| 欧美三级视频在线播放| 亚洲国产成人av网| 欧美精品久久久久久久多人混战| 亚洲高清不卡在线观看| 91传媒视频在线播放| 午夜电影网一区| 91精品国产欧美一区二区成人| 久久精品国产一区二区三| 日韩欧美综合在线| 蜜臀av性久久久久蜜臀av麻豆| 久久先锋资源网| 国产精品亚洲午夜一区二区三区 | 欧美一区三区二区| 99re亚洲国产精品| 午夜电影网亚洲视频| 91精品国产综合久久国产大片| 国产乱码一区二区三区| 国产毛片精品国产一区二区三区| 亚洲视频你懂的| 国产亚洲一区二区三区四区| 欧美人xxxx| 欧美午夜电影在线播放| 欧美高清激情brazzers| 亚洲成av人**亚洲成av**| 精品视频在线免费看| 狠狠色丁香久久婷婷综| 久久久欧美精品sm网站| 成人看片黄a免费看在线| 一区二区三区在线观看动漫| 欧美精品aⅴ在线视频| 国产乱子伦视频一区二区三区 | 国产精品入口麻豆原神| 成人亚洲一区二区一| 一区二区三区在线播放| 2欧美一区二区三区在线观看视频| 国产一区二区三区黄视频| 一区二区三区国产精华| 欧美福利一区二区| 另类人妖一区二区av| 国产精品久久久爽爽爽麻豆色哟哟| 色吊一区二区三区| 国产成人啪午夜精品网站男同| 亚洲品质自拍视频| 久久综合色之久久综合| 91麻豆蜜桃一区二区三区| 精品一区二区精品| 亚洲欧美日韩国产中文在线| 2024国产精品| 91久久精品网| 久久99精品久久久久婷婷| 亚洲精品国产精华液| 制服丝袜亚洲精品中文字幕| 色婷婷亚洲精品| 国产在线不卡一区| 日本最新不卡在线| 国产精品天天看| 精品国产乱码久久| 日本电影亚洲天堂一区| 成人午夜视频在线观看| 五月天亚洲精品| 国产日韩v精品一区二区| 欧美一卡2卡三卡4卡5免费| av在线这里只有精品| 久久国产精品99久久人人澡| 亚洲另类中文字| 国产精品青草综合久久久久99| 欧美日本韩国一区二区三区视频 | 欧美α欧美αv大片| 日本韩国欧美国产| 99麻豆久久久国产精品免费优播| 另类小说欧美激情| 日本亚洲电影天堂| 夜夜亚洲天天久久| 久久蜜桃一区二区| 在线电影欧美成精品| 亚洲一级二级在线| 97精品电影院| 亚洲美女电影在线| 国产精品免费观看视频| 美国欧美日韩国产在线播放| 日本二三区不卡| 亚洲欧美另类在线|