📄 prinstallroutines.h
字号:
/* * * prinstallroutines.h * Copyright (C) 2006 Michael H. Overlin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Contact at poster_printer@yahoo.com * */#ifndef PRINSTALLROUTINES_H#define PRINSTALLROUTINES_H#include "printResizerCommon.h"#include "progressdialog.h"#include "types.h"#include <windows.h>#include <winspool.h>// ACTUALLY USED FOR UNINSTALL ALSOclass InstallProgressDialog : public ProgressDialogWindow {public: InstallProgressDialog(HINSTANCE hinst, const tstring& tstrTitle, const tstring& tstrJob, IN BOOL bHideCancle = FALSE); ~InstallProgressDialog(); void SetInstallThread(class WorkerThread *pwt);protected: virtual BOOL EndDialog(INT_PTR nResult);private: class WorkerThread *m_pwt;};// ACTUALLY USED FOR UNINSTALL ALSOclass InstallStatusString {public: InstallStatusString(void); ~InstallStatusString(); void SetWorkInProgress(IN LPCTSTR lptstrWorkInProgress); // bTermianl IS OR'D IN BOOL GetTerminalError(void) const { return m_bTerminalError; } void SetErrorItem(IN LPCTSTR lptstrErrorItem, BOOL bTerminal); void SetUserCanceled(void); void SetAllDone(void); const tstring& GetStatusString(void);private: BOOL m_bTerminalError; BOOL m_bUserCanceled; BOOL m_bAllDone; tstring m_tstrWorkInProgress; tstring m_tstrErrorItems; tstring m_tstrStatusString;};// CALLER RESPONSIBLE FOR FREEING MALLOC'D BUFFERLPTSTR GetAdditionalProgramFolderPath(void);// CALLER RESPONSIBLE FOR FREEING MALLOC'D BUFFERLPTSTR GetLinkFolderPath(void);// RETURNS A NULL TERMINATED ARRAY OF LPTSTR's TO THE NAMES OF ADDITIOANL PROGRAMS INSTALLED// THE FIRST OF WHICH IS ACTUALLY THE DIRECTORY THEY ARE INSTALLED TO. ALL ARE ABSOLUTE PATHS/FILE NAMES.namespace AdditionalProgNames { enum { eFolder, eUnInstallerStub };};LPTSTR *GetAdditionalProgFileNames(void) ;// RETURNS A NULL TERMINATED ARRAY OF LPTSTR's TO THE NAMES OF LINK FILE NAMES INSTALLED// THE FIRST OF WHICH IS ACTUALLY THE DIRECTORY THEY ARE INSTALLED TO. ALL ARE ABSOLUTE PATHS/FILE NAMES.namespace LinkFileNames { enum { eFolder, ePreviewApp, eURLLink, eUnInstallerStubLink };};LPTSTR *GetLinkFileNames(void) ;// CALLER RESPONSIBLE FOR FREEING MALLOC'D BUFFER::PJOB_INFO_1 GetPrintersJobs(IN HANDLE hPrinter, IN DWORD dwcJobs, OUT DWORD& dwcJobsReturned) ;DWORD GetPrinterJobDeletionCommand(void) ;BOOL MyDeleteFile( LPCTSTR lptstrFileName ) ;BOOL DoAllUnInstall(ProgressDialogWindow *pdw, InstallStatusString *piss) ;// CALLER RESPONSIBLE FOR FREEING MALLOC'D BUFFER::PPRINTPROCESSOR_INFO_1 GetInstalledPrintProcessors(OUT DWORD& dwcPP) ;// CALLER RESPONSIBLE FOR FREEING MALLOC'D BUFFER::PPORT_INFO_1 GetInstalledPorts(DWORD& dwcPorts) ;void GeneratePRDriverAlternateNames(OUT PRDRIVER_FILENAME_ALTERNATES& alts, LPCTSTR lptstrFileName) ;BOOL CheckPortInstalled(OUT BOOL& bInstalled, IN LPCTSTR lptstrPortName) ;BOOL WriteResourceToFile(HINSTANCE hInst, LPCTSTR lptstrFileName, WORD wIDResource, WORD wIDType/*, const ::SYSTEMTIME* psystimeStamp*/) ;BOOL StampFileTime(LPCTSTR lptstrFileName, const ::SYSTEMTIME& st) ;BOOL DecompressResource(IN HINSTANCE hInst, IN WORD wIDResource, IN WORD wIDType, OUT PVOID& pv, OUT DWORD& dwCb) ;BOOL WriteCompressedResourceToFile(HINSTANCE hInst, LPCTSTR lptstrFileName, WORD wIDResource, WORD wIDType/*, const ::SYSTEMTIME* psystimeStamp*/) ;// CALLER RESPONSIBLE FOR FREEING MALLOC'D BUFFERLPTSTR MyGetPrintProcessorDirectory(void) ;BOOL DoLinksFolderCommand(LPCTSTR lptstrCommand) ;void SetErrorCode(LPCTSTR lptstrPrefix, ::ProgressDialogWindow *pdw, ::InstallStatusString *piss, BOOL bTerminal = TRUE) ;void SetErrorItem(LPCTSTR lptstrError, ::ProgressDialogWindow *pdw, ::InstallStatusString *piss, BOOL bTerminal = TRUE) ;void SetWorkInProgress(LPCTSTR lptstrWork, ::ProgressDialogWindow *pdw, ::InstallStatusString *piss) ;#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -