Пример #1
0
		XResult GetParentDir(CString& path,BOOL slash)
		{
			Return_OnXError(Format(path,slash));
			Return_OnXError(RemoveLastSplit(path,slash));
			Return_OnXError(GetDir(path,slash));
			return XResult_OK;
		}
Пример #2
0
		XResult FormatDirPath( CString& path,BOOL slash/*=TRUE*/ )
		{
			Return_OnXError(Format(path,slash));
			Return_OnXError(RemoveLastSplit(path,slash));
			path += SplitChar(slash);
			return XResult_OK;
		}
Пример #3
0
void ShortcutDlg::OnOK(void) 
{
    xpr_tchar_t sName[XPR_MAX_PATH + 1];
    xpr_tchar_t sTarget[XPR_MAX_PATH + 1];
    xpr_tchar_t sStartup[XPR_MAX_PATH + 1];
    xpr_tchar_t sDesc[MAX_SHORTCUT_DESC + 1];
    WORD sHotKey, sTemp;
    xpr_sint_t sShowCmd;

    GetDlgItemText(IDC_CREATE_SHORTCUT_NAME,    sName,    XPR_MAX_PATH);
    GetDlgItemText(IDC_CREATE_SHORTCUT_TARGET,  sTarget,  XPR_MAX_PATH);
    GetDlgItemText(IDC_CREATE_SHORTCUT_STARTUP, sStartup, XPR_MAX_PATH);
    GetDlgItemText(IDC_CREATE_SHORTCUT_DESC,    sDesc,    MAX_SHORTCUT_DESC);
    ((CHotKeyCtrl *)GetDlgItem(IDC_CREATE_SHORTCUT_HOTKEY))->GetHotKey(sHotKey, sTemp);
    sShowCmd = ((CComboBox *)GetDlgItem(IDC_CREATE_SHORTCUT_SHOWCMD))->GetCurSel();
    switch (sShowCmd)
    {
    case 1:  sShowCmd = SW_SHOWMINNOACTIVE; break;
    case 2:  sShowCmd = SW_SHOWMAXIMIZED;   break;
    default: sShowCmd = SW_SHOWNORMAL;      break;
    }

    if (_tcslen(sName) <= 0 || _tcslen(sTarget) <= 0)
    {
        const xpr_tchar_t *sMsg = gApp.loadString(XPR_STRING_LITERAL("popup.create_shortcut.msg.input"));
        MessageBox(sMsg, XPR_NULL, MB_OK | MB_ICONSTOP);
        return;
    }

    if (VerifyFileName(sName) == XPR_FALSE)
    {
        const xpr_tchar_t *sMsg = gApp.loadString(XPR_STRING_LITERAL("popup.create_shortcut.msg.invalid_filename"));
        MessageBox(sMsg, XPR_NULL, MB_OK | MB_ICONSTOP);
        return;
    }

    xpr::string sLinkPath(mPath);
    RemoveLastSplit(sLinkPath);
    sLinkPath += XPR_STRING_LITERAL("\\");
    sLinkPath += sName;
    sLinkPath += XPR_STRING_LITERAL(".lnk");

    xpr_tchar_t sPath[XPR_MAX_PATH + 1];
    ::SHGetPathFromIDList(mFullPidl, sPath);

    if (_tcsicmp(sPath, sTarget) == 0)
        CreateShortcut(sLinkPath.c_str(), mFullPidl, sStartup, sHotKey, sShowCmd, sDesc);
    else
        CreateShortcut(sLinkPath.c_str(), sTarget, sStartup, sHotKey, sShowCmd, sDesc);

    super::OnOK();
}