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

📄 install.h

📁 spring+hibenate+struts开发
💻 H
字号:
/* @(#)Copyright (C) H.Shirouzu 1998-2002   install.h	Ver2.00 */
/* ========================================================================
	Project  Name			: Installer for IPMSG32
	Module Name				: Main Header
	Create					: 1998-06-14(Sun)
	Update					: 2002-11-03(Sun)
	Copyright				: H.Shirouzu
	Reference				: 
	======================================================================== */

enum InstMode { SETUP_MODE, RESETUP_MODE, UNINSTALL_MODE };

struct InstallCfg {
	InstMode	mode;
	int			portNo;
	BOOL		startupLink;
	BOOL		programLink;
	BOOL		desktopLink;
	BOOL		delPubkey;
};

class TInstSheet : public TDlg
{
	InstallCfg	*cfg;

public:
	TInstSheet(TWin *_parent, InstallCfg *_cfg);

	virtual BOOL	EvCreate(LPARAM lParam);
	virtual BOOL	EvCommand(WORD wNotifyCode, WORD wID, LPARAM hwndCtl);

	void	Paste(void);
	void	GetData(void);
	void	PutData(void);
};

class TInstDlg : public TDlg
{
protected:
	TSubClassCtl	staticText;
	TInstSheet		*propertySheet;
	InstallCfg		cfg;

public:
	TInstDlg(char *cmdLine);
	virtual ~TInstDlg();

	virtual BOOL	EvCreate(LPARAM lParam);
	virtual BOOL	EvCommand(WORD wNotifyCode, WORD wID, LPARAM hwndCtl);
#if 0
	virtual BOOL	EvNcDestroy(void);
	virtual BOOL	EventUser(UINT uMsg, WPARAM wParam, LPARAM lParam);
#endif
	BOOL	Install(void);
	BOOL	UnInstall(void);
	void	ChangeMode(void);
	BOOL	TerminateIPMsg(void);
	BOOL	RemoveSameLink(const char *dir, char *remove_path=NULL);
};

class TInstApp : public TApp
{
public:
	TInstApp(HINSTANCE _hI, LPSTR _cmdLine, int _nCmdShow);
	virtual ~TInstApp();

	void InitWindow(void);
};

class TBrowseDirDlg : public TSubClass
{
protected:
	char	*fileBuf;
	BOOL	dirtyFlg;

public:
	TBrowseDirDlg(char *_fileBuf) { fileBuf = _fileBuf; }
	virtual BOOL	CreateByWnd(HWND _hWnd);
	virtual BOOL	EvCommand(WORD wNotifyCode, WORD wID, LPARAM hwndCtl);
	virtual BOOL	SetFileBuf(LPARAM list);
	BOOL	IsDirty(void) { return dirtyFlg; };
};

class TInputDlg : public TDlg
{
protected:
	char	*dirBuf;

public:
	TInputDlg(char *_dirBuf, TWin *_win) : TDlg(INPUT_DIALOG, _win) { dirBuf = _dirBuf; }
	virtual BOOL	EvCommand(WORD wNotifyCode, WORD wID, LPARAM hwndCtl);
};

#define IPMSG_CLASS				"ipmsg_class"
#define IPMSG_NAME				"IPMSG for Win32"
#define IPMSG_FULLNAME			"IP Messenger for Win"
#define IPMSG_STR				"IPMsg"
#define HSTOOLS_STR				"HSTools"
#ifdef ENGLISH
#define REGSTR_IPMSG			IPMSG_STR "Eng"
#else
#define REGSTR_IPMSG			IPMSG_STR
#endif
#define IPMSG_DEFAULT_PORT		0x0979

#define IPMSG_EXENAME			"ipmsg.exe"
#define INSTALL_EXENAME			"setup.exe"
#define README_NAME				"readme.txt"
#define OPENLAB_NAME			"openlab.txt"

#define UNINSTALL_CMDLINE		"/r"
#define IPMSG_SHORTCUT_NAME		IPMSG_NAME ".lnk"
#define UNC_PREFIX				"\\\\"
#define MAX_WRAPPER_IPMSGSIZE	50000
#define RESOLVE_WRAPPER_IPMSG	"org\\ipmsg.exe"
#define MAX_BUF					1024

#define REGSTR_SHELLFOLDERS		REGSTR_PATH_EXPLORER "\\Shell Folders"
#define REGSTR_STARTUP			"Startup"
#define REGSTR_DESKTOP			"Desktop"
#define REGSTR_PROGRAMS			"Programs"
#define REGSTR_PATH				"Path"
#define REGSTR_PROGRAMFILES		"ProgramFilesDir"

#ifdef	ENGLISH
#define MKDIR_STR				"CREATE"
#define RMDIR_STR				"DELETE"
#else
#define MKDIR_STR				"嶌惉"
#define RMDIR_STR				"嶍彍"
#endif
#define INSTALL_STR				"Install"
#define UNINSTALL_STR			"UnInstall"

#ifdef	ENGLISH
#define NOTNEWSHELL_MSGSTR		"This setup is only run new shell.\r\n"
#define SETUPCOMPLETE_MSGSTR	"Setup is completed.\r\n\r\nDo you want to start IPMSG?"
#define UNINSTCOMPLETE_MSGSTR	"Uninstallation is completed.\r\n"
#define TERMINATE_MSGSTR		"Do you permit to close IPMSG?"
#define NOTCREATEDIR_MSGSTR		"Can't create directory"
#define NOTCREATEFILE_MSGSTR	"Can't create file"
#define START_MSGSTR			"Do you permit to start?"
#else
#define NOTNEWSHELL_MSGSTR		"偙偺僙僢僩傾僢僾偼丄NewShell愱梡偱偡丅\r\nNT3.51偱偺僀儞僗僩乕儖偼庤摦偱峴偭偰偔偩偝偄丅"
#define SETUPCOMPLETE_MSGSTR	"僙僢僩傾僢僾偼姰椆偟傑偟偨丅\r\n傾儞僀儞僗僩乕儖偼乽傾僾儕働乕僔儑儞偺捛壛偲嶍彍乿偐傜峴偭偰偔偩偝偄丅\r\n\r\n偙偺傑傑丄IP Messenger 傪婲摦偟傑偡偐丠"
#define UNINSTCOMPLETE_MSGSTR	"傾儞僀儞僗僩乕儖偼姰椆偟傑偟偨丅\r\n僼傽僀儖嶍彍帺懱偼庤摦偱峴偭偰偔偩偝偄丅"
#define TERMINATE_MSGSTR		"偁傜偐偠傔丄尰嵼婲摦偟偰偄傞\r\nIP Messenger 傪廔椆偝偣傞昁梫偑偁傝傑偡丅\r\n傛傠偟偄偱偡偐丠"
#define NOTCREATEDIR_MSGSTR		"僨傿儗僋僩儕偑嶌傟傑偣傫"
#define NOTCREATEFILE_MSGSTR	"僼傽僀儖傪僐僺乕偱偒傑偣傫"
#define START_MSGSTR			"奐巒偟傑偡"
#endif

// function prototype
int strncmpi(const char *str1, const char *str2, int num);
BOOL CALLBACK TerminateIPMsgProc(HWND hWnd, LPARAM lParam);
BOOL SymLink(LPCSTR src, LPSTR dest, LPCSTR arg="");
BOOL ReadLink(LPCSTR src, LPSTR dest, LPSTR arg);
BOOL DeleteLink(LPCSTR path);
void BrowseDirDlg(TWin *parentWin, UINT editCtl, char *title);
int CALLBACK BrowseDirDlg_Proc(HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM data);
BOOL GetParentDir(const char *srcfile, char *dir);
int MakePath(char *dest, const char *dir, const char *file);
UINT GetDriveTypeEx(const char *file);

// inline function
inline BOOL IsUncFile(const char *path) { return strnicmp(path, UNC_PREFIX, 2) == 0; }

⌨️ 快捷键说明

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