Exemple #1
0
BOOL GetShortcutPath(InstallCfg *cfg)
{
// スタートメニュー&デスクトップに登録
	TRegistry	reg(HKEY_CURRENT_USER, BY_MBCS);
	if (reg.OpenKey(REGSTR_SHELLFOLDERS)) {
		char	buf[MAX_PATH] = "";
		reg.GetStr(REGSTR_PROGRAMS, buf, MAX_PATH);
		cfg->startMenu = AtoWs(buf);
		reg.GetStr(REGSTR_DESKTOP,  buf, MAX_PATH);
		cfg->deskTop   = AtoWs(buf);
		reg.CloseKey();
		return	TRUE;
	}
	return	FALSE;
}
Exemple #2
0
/*
	Window 生成時の CallBack
*/
BOOL TShellExtDlg::EvCreate(LPARAM lParam)
{
	if (!shellExt.Load(cfg->execDir, AtoWs(CURRENT_SHEXTDLL))) {
		TMsgBox(this).Exec("Can't load " CURRENT_SHEXTDLL);
		PostMessage(WM_CLOSE, 0, 0);
		return	FALSE;
	}

	ReflectStatus();

	if (rect.left == CW_USEDEFAULT)
	{
		GetWindowRect(&rect);
		int xsize = rect.right - rect.left, ysize = rect.bottom - rect.top;
		int	cx = ::GetSystemMetrics(SM_CXFULLSCREEN), cy = ::GetSystemMetrics(SM_CYFULLSCREEN);
		int	x = (cx - xsize)/2;
		int y = (cy - ysize)/2;

		MoveWindow((x < 0) ? 0 : x % (cx - xsize), (y < 0) ? 0 : y % (cy - ysize),
			xsize, ysize, FALSE);
	}
	else
		MoveWindow(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, FALSE);

	return	TRUE;
}