📄 wupdate.hpp
字号:
AnsiString FTempDirectory;
bool FKeepAlive;
bool FExistingConnection;
AnsiString FLocalFileDateCheck;
System::TDateTime FNewVersionDate;
System::TDateTime FCurVersionDate;
AnsiString FCurVersionInfo;
AnsiString FNewVersionInfo;
TFileList* FFileList;
AnsiString FUpdateDescription;
bool FLogging;
bool FCancelled;
TWebUpdateVersionCheck FVersionCheck;
Classes::TNotifyEvent FOnSuccess;
bool FInProgress;
bool FKeepIntermediateFiles;
AnsiString FAgent;
AnsiString FLanguageID;
AnsiString FLogFileName;
TWebUpdateAuthentication FAuthenticate;
AnsiString __fastcall GetVersion();
void __fastcall SetVersion(const AnsiString Value);
int __fastcall GetVersionNr(void);
void __fastcall SetLogFileName(const AnsiString Value);
protected:
Classes::TStringList* __fastcall GetTextFile(AnsiString URL);
AnsiString __fastcall ExpandPath(AnsiString tgt);
bool __fastcall FileGetFile(AnsiString url, AnsiString tgt, bool uncompress);
void __fastcall ThreadDone(System::TObject* Sender);
virtual int __fastcall WhatsNewDialog(Classes::TStringList* sl);
virtual int __fastcall EULADialog(Classes::TStringList* sl);
virtual void __fastcall DoStatus(int id, AnsiString param, int statuscode, int errorcode);
virtual void __fastcall ExtractUpdateResource(void);
virtual void __fastcall ExtractUtility(void);
tfvi __fastcall GetFileVersion(AnsiString FileName);
virtual bool __fastcall CheckVersions(AnsiString &fvn, AnsiString &fvl, int fvs, int fvc);
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation AOperation);
System::TDateTime __fastcall ControlValueToDate(AnsiString d, AnsiString t);
bool __fastcall ExecAndWait(AnsiString sCommandLine, bool Show, bool Animate, AnsiString Caption, AnsiString Msg);
bool __fastcall GetAppNeedsRestart(void);
virtual void __fastcall HandleCancel(bool &Cancel);
public:
virtual void __fastcall CustomProcess(AnsiString fn);
AnsiString __fastcall URLtoFile(AnsiString url);
AnsiString __fastcall URLToDomain(AnsiString url);
bool __fastcall URLGetFile(void * hfile, AnsiString url, AnsiString tgt, bool uncompress);
AnsiString __fastcall MakeProxyUrl(AnsiString url, AnsiString proxyuser, AnsiString proxypwd);
void __fastcall ShowHTMLDialog(AnsiString s);
void __fastcall Error(void);
void __fastcall Cancel(void);
void __fastcall AddToLog(AnsiString s);
__fastcall virtual TWebUpdate(Classes::TComponent* aOwner);
__fastcall virtual ~TWebUpdate(void);
void __fastcall DoUpdate(void);
void __fastcall DoSuccess(void);
void __fastcall DoThreadUpdate(void);
void __fastcall DoPostUpdateInfo(void);
void __fastcall DoRestart(void);
virtual int __fastcall StartConnection(void);
virtual int __fastcall StopConnection(void);
virtual int __fastcall FTPConnect(void);
virtual AnsiString __fastcall GetControlFileURL();
virtual int __fastcall GetControlFile(void);
virtual int __fastcall DoVersionCheck(void);
virtual int __fastcall HandleActions(void);
virtual Classes::TStringList* __fastcall GetWhatsNew(void);
virtual Classes::TStringList* __fastcall GetEULA(void);
virtual int __fastcall GetFileDetails(void);
virtual int __fastcall ProcessFileDetails(void);
virtual int __fastcall GetFileUpdates(void);
int __fastcall UpdateActions(void);
bool __fastcall Connected(void);
int __fastcall ConnectionType(void);
bool __fastcall NewVersionAvailable(void);
void __fastcall HangUp(void);
void __fastcall URLPut(AnsiString url);
AnsiString __fastcall URLGet();
void __fastcall UpdateDatePut(System::TDateTime dt);
System::TDateTime __fastcall UpdateDateGet(void);
virtual void __fastcall ConvertPrefix(const AnsiString prefix, AnsiString &s);
__property AnsiString ControlFileName = {read=FControlFileName};
__property System::TDateTime NewVersionDate = {read=FNewVersionDate};
__property System::TDateTime CurVersionDate = {read=FCurVersionDate};
__property AnsiString CurVersionInfo = {read=FCurVersionInfo};
__property AnsiString NewVersionInfo = {read=FNewVersionInfo};
__property AnsiString UpdateDescription = {read=FUpdateDescription};
__property TFileList* FileList = {read=FFileList};
__property bool Cancelled = {read=FCancelled, nodefault};
__property bool InProgress = {read=FInProgress, nodefault};
__property bool AppNeedsRestart = {read=GetAppNeedsRestart, nodefault};
__published:
__property AnsiString Agent = {read=FAgent, write=FAgent};
__property bool ApplyPatch = {read=FApplyPatch, write=FApplyPatch, nodefault};
__property TWebUpdateAuthentication Authenticate = {read=FAuthenticate, write=FAuthenticate, default=2};
__property AnsiString DateFormat = {read=FDateFormat, write=FDateFormat};
__property char DateSeparator = {read=FDateSeparator, write=FDateSeparator, nodefault};
__property bool ExtractCAB = {read=FExtractCAB, write=FExtractCAB, nodefault};
__property bool ExistingConnection = {read=FExistingConnection, write=FExistingConnection, nodefault};
__property AnsiString FTPDirectory = {read=FFTPDirectory, write=FFTPDirectory};
__property bool FTPPassive = {read=FFTPPassive, write=FFTPPassive, nodefault};
__property AnsiString Host = {read=FHost, write=FHost};
__property bool HTTPKeepAliveAuthentication = {read=FKeepAlive, write=FKeepAlive, nodefault};
__property bool KeepIntermediateFiles = {read=FKeepIntermediateFiles, write=FKeepIntermediateFiles, nodefault};
__property AnsiString LanguageID = {read=FLanguageID, write=FLanguageID};
__property bool Logging = {read=FLogging, write=FLogging, nodefault};
__property AnsiString LogFileName = {read=FLogFileName, write=SetLogFileName};
__property TLastURLEntry* LastURLEntry = {read=FLastURLEntry, write=FLastURLEntry};
__property AnsiString Password = {read=FPassword, write=FPassword};
__property int Port = {read=FPort, write=FPort, nodefault};
__property TPostUpdateInfo* PostUpdateInfo = {read=FPostUpdateInfo, write=FPostUpdateInfo};
__property AnsiString Proxy = {read=FProxy, write=FProxy};
__property AnsiString ProxyUserID = {read=FProxyUserID, write=FProxyUserID};
__property AnsiString ProxyPassword = {read=FProxyPassword, write=FProxyPassword};
__property AnsiString Signature = {read=FSignature, write=FSignature};
__property bool SignatureCheck = {read=FSignatureCheck, write=FSignatureCheck, nodefault};
__property AnsiString TempDirectory = {read=FTempDirectory, write=FTempDirectory};
__property AnsiString TimeFormat = {read=FTimeFormat, write=FTimeFormat};
__property char TimeSeparator = {read=FTimeSeparator, write=FTimeSeparator, nodefault};
__property TWebUpdateType UpdateType = {read=FUpdateType, write=FUpdateType, nodefault};
__property TWebUpdateConnect UpdateConnect = {read=FUpdateConnect, write=FUpdateConnect, nodefault};
__property TWebUpdateUpdate UpdateUpdate = {read=FUpdateUpdate, write=FUpdateUpdate, nodefault};
__property AnsiString URL = {read=FURL, write=FURL};
__property AnsiString UserID = {read=FUserID, write=FUserID};
__property bool UseCRC32 = {read=FUseCRC32, write=FUseCRC32, nodefault};
__property TWebUpdateUtility* Utility = {read=FUtility, write=FUtility};
__property TWebUpdateVersionCheck VersionCheck = {read=FVersionCheck, write=FVersionCheck, nodefault};
__property TWebUpdateFileProgress OnFileProgress = {read=FWebUpdateFileProgress, write=FWebUpdateFileProgress};
__property TWebUpdateFileDownloaded OnFileDownloaded = {read=FWebUpdateFileDownloaded, write=FWebUpdateFileDownloaded};
__property TWebUpdateFileVersionCheck OnFileVersionCheck = {read=FWebUpdateFileVersionCheck, write=FWebUpdateFileVersionCheck};
__property TWebUpdateProcessPostResult OnProcessPostResult = {read=FProcessPostResult, write=FProcessPostResult};
__property TWebUpdateBeforePost OnBeforePost = {read=FBeforePost, write=FBeforePost};
__property TWebUpdateProgress OnProgress = {read=FWebUpdateProgress, write=FWebUpdateProgress};
__property TWebUpdateProgressCancel OnProgressCancel = {read=FWebUpdateProgressCancel, write=FWebUpdateProgressCancel};
__property TWebUpdateStatus OnStatus = {read=FWebUpdateStatus, write=FWebUpdateStatus};
__property TWebUpdateThreadDone OnThreadUpdateDone = {read=FThreadUpdateDone, write=FThreadUpdateDone};
__property TWebUpdateRestart OnAppRestart = {read=FAppRestart, write=FAppRestart};
__property TWebUpdateEvent OnAppDoClose = {read=FAppDoClose, write=FAppDoClose};
__property TWebUpdateBeforeDownload OnBeforeFileDownload = {read=FOnBeforeFileDownload, write=FOnBeforeFileDownload};
__property TWebUpdateCustomValidate OnCustomValidate = {read=FCustomValidate, write=FCustomValidate};
__property TWebUpdateCustomProcess OnCustomProcess = {read=FCustomProcess, write=FCustomProcess};
__property TWebUpdateFileList OnGetFileList = {read=FFileNameList, write=FFileNameList};
__property TWebUpdateConvertPrefix OnConvertPrefix = {read=FConvertPrefix, write=FConvertPrefix};
__property TWebUpdateSetParams OnSetAppParams = {read=FSetAppParams, write=FSetAppParams};
__property TWebUpdateTextDownloaded OnDownloadedWhatsNew = {read=FOnDownloadedWhatsNew, write=FOnDownloadedWhatsNew};
__property TWebUpdateTextDownloaded OnDownloadedEULA = {read=FOnDownloadedEULA, write=FOnDownloadedEULA};
__property TWebUpdateFileNameFromURL OnFileNameFromURL = {read=FOnFileNameFromURL, write=FOnFileNameFromURL};
__property Classes::TNotifyEvent OnSuccess = {read=FOnSuccess, write=FOnSuccess};
__property AnsiString Version = {read=GetVersion, write=SetVersion};
};
class PASCALIMPLEMENTATION TInetThread : public Classes::TThread
{
typedef Classes::TThread inherited;
private:
TWebUpdate* WebUpdate;
protected:
virtual void __fastcall Execute(void);
public:
__fastcall TInetThread(TWebUpdate* AWebUpdate);
public:
#pragma option push -w-inl
/* TThread.Destroy */ inline __fastcall virtual ~TInetThread(void) { }
#pragma option pop
};
class PASCALIMPLEMENTATION TFileDescription : public Classes::TCollectionItem
{
typedef Classes::TCollectionItem inherited;
private:
bool FCompressed;
int FNewCheckSum;
int FNewSize;
AnsiString FURL;
AnsiString FTargetDir;
AnsiString FLocalVersion;
AnsiString FNewVersion;
AnsiString FDescription;
AnsiString FNewCustomVer;
int FFileSize;
AnsiString FNewDate;
AnsiString FNewTime;
bool FMandatory;
bool FHidden;
bool FSelected;
__published:
__property AnsiString URL = {read=FURL, write=FURL};
__property AnsiString NewVersion = {read=FNewVersion, write=FNewVersion};
__property int NewSize = {read=FNewSize, write=FNewSize, nodefault};
__property int NewCheckSum = {read=FNewCheckSum, write=FNewCheckSum, nodefault};
__property AnsiString NewCustomVer = {read=FNewCustomVer, write=FNewCustomVer};
__property AnsiString NewDate = {read=FNewDate, write=FNewDate};
__property AnsiString NewTime = {read=FNewTime, write=FNewTime};
__property AnsiString LocalVersion = {read=FLocalVersion, write=FLocalVersion};
__property AnsiString Description = {read=FDescription, write=FDescription};
__property AnsiString TargetDir = {read=FTargetDir, write=FTargetDir};
__property bool Compressed = {read=FCompressed, write=FCompressed, nodefault};
__property int FileSize = {read=FFileSize, write=FFileSize, nodefault};
__property bool Mandatory = {read=FMandatory, write=FMandatory, nodefault};
__property bool Hidden = {read=FHidden, write=FHidden, nodefault};
__property bool Selected = {read=FSelected, write=FSelected, nodefault};
public:
#pragma option push -w-inl
/* TCollectionItem.Create */ inline __fastcall virtual TFileDescription(Classes::TCollection* Collection) : Classes::TCollectionItem(Collection) { }
#pragma option pop
#pragma option push -w-inl
/* TCollectionItem.Destroy */ inline __fastcall virtual ~TFileDescription(void) { }
#pragma option pop
};
struct tfvi
{
public:
int versionms;
int versionls;
} ;
//-- var, const, procedure ---------------------------------------------------
static const Shortint WebUpdateSuccess = 0x0;
static const Shortint WebUpdateAccessError = 0x1;
static const Shortint WebUpdateNotFound = 0x2;
static const Shortint WebUpdateInformation = 0x3;
static const Shortint WebUpdateNoNewVersion = 0x4;
static const Shortint WebUpdateNewVersion = 0x5;
static const Shortint WebUpdateHTTPStatus = 0x6;
static const Shortint WebUpdateHTMLDialog = 0x7;
static const Shortint WebUpdateCABError = 0x8;
static const Shortint WebUpdateSpawnFail = 0x9;
static const Shortint WebUpdateWrongSource = 0xa;
static const Shortint WebUpdateSignatureError = 0xb;
static const Shortint WebUpdateWhatsNew = 0xc;
static const Shortint WebUpdateEUL = 0xd;
static const Shortint WebUpdateWhatsnewCancel = 0xe;
static const Shortint WebUpdateEULACancel = 0xf;
static const Shortint WebUpdatePostConnectFail = 0x10;
static const Shortint WebUpdatePostPostFail = 0x11;
static const Shortint WebUpdateExecAndWait = 0x12;
static const Byte WebUpdateUndefined = 0xff;
static const Shortint ErrControlFileNotFound = 0x0;
static const Shortint ErrUpdateFileNotFound = 0x1;
static const Shortint ErrUpdateFileZeroLen = 0x2;
static const Shortint ErrUpdateTargetEqual = 0x3;
static const Shortint ErrUpdateSignatureError = 0x4;
static const Shortint ErrConnectError = 0x5;
static const Byte ErrUndefined = 0xff;
static const Shortint WU_FAILED = -1;
static const Shortint WU_SUCCESS = 0x0;
static const Shortint WU_NOCONNECTION = 0x1;
static const Shortint WU_INTERNETOPENFAILED = 0x2;
static const Shortint WU_DIALUPFAILED = 0x3;
static const Shortint WU_FILENOTFOUND = 0x4;
static const Shortint WU_SIGNATUREFAILED = 0x5;
static const Shortint WU_DATEBASEDNEWVERSION = 0x6;
static const Shortint WU_NONEWVERSION = 0x7;
static const Shortint WU_UNCONDITIONALNEWVERSION = 0x8;
static const Shortint WU_FILESIZEBASEDNEWVERSION = 0x9;
static const Shortint WU_CHECKSUMBASEDNEWVERSION = 0xa;
static const Shortint WU_VERSIONINFOBASEDNEWVERSION = 0xb;
static const Shortint WU_CUSTOMNEWVERSION = 0xc;
static const Shortint MAJ_VER = 0x1;
static const Shortint MIN_VER = 0x7;
static const Shortint REL_VER = 0x2;
static const Shortint BLD_VER = 0x0;
#define winetdll "wininet.dll"
extern PACKAGE void __fastcall HTMLDialog(unsigned pHandle, AnsiString s);
extern PACKAGE AnsiString __fastcall WinTempDir();
} /* namespace Wupdate */
using namespace Wupdate;
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // Wupdate
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -