#define		szTitleName		TEXT("KLog")
#define		szClassName		TEXT("KLOG")

extern "C" {
	extern	DWORD	g_dwAppVersion ;
	extern	DWORD	g_dwDllVersion ;
	extern	LPCTSTR	g_szArgs ;
	extern	TCHAR	MessageBuf[ 512 ] ;
	extern	BOOL	g_bDeleteReg ;			/* レジストリを削除する場合*真* */
} ;

class MainWindow ;

class MainApp {
private:
	HINSTANCE	m_hInst ;
	HACCEL		m_hAccl ;
	MainWindow	*m_pMainWnd ;				/* メイン画面 */

public:
	MainApp() ;
	~MainApp() ;

	BOOL		Create( HINSTANCE hInst ) ;
	int			Run() ;
	BOOL		GetReg() ;
	BOOL		SetReg() const ;
	void		DeleteReg() const ;

	HINSTANCE	get_inst() const { return m_hInst ; }
} ;

#define	SPI_SETSIPINFO			224
#define	SPI_GETSIPINFO			225
#define	SPI_SETCURRENTIM		226
#define	SPI_GETCURRENTIM		227
#define	SPI_SETCOMPLETIONINFO	223
#define	SPI_APPBUTTONCHANGE		228

typedef enum tagSipFlags {
	SIPF_ON					= 0x01,
	SIPF_DOCKED				= 0x02,
	SIPF_LOCKED				= 0x04,
	SIPF_DISABLECOMPLETION	= 0x08
} SIPFLAGS ;

typedef struct _tagSipInfo {
	DWORD  cbSize ;
	DWORD  fdwFlags ;
	RECT   rcVisibleDesktop ;
	RECT   rcSipRect ;
	DWORD  dwImDataSize ;
	LPVOID pvImData ;
} SIPINFO ;

extern "C"	BOOL	(*SHSipInfo)( UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni ) ;
extern "C"	void	ShowSIP( BOOL bShow ) ;
