Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Имя файла в диалоге сохранения

929
26 декабря 2005 года
sp999
198 / / 31.01.2003
Всем привет и с наступающим!

Ситуация такая:
В одной программе есть генератор отчетов. Когда отчет (текстовый файл) сформирован, его можно сохранить - вызывается стандартный диалог сохранения, в нем показывается имя файла от предыдущего сохранения. Как я понял, хранится оно в History текущего юзера.
Вопрос: можно ли с помощью какого-нить АПИ залезть и поменять это имя (есть возможность перед сохранением выполнить внешнюю программу).

С уважением, Валера.
11K
29 декабря 2005 года
DWORD
22 / / 28.12.2005
Попробуй вызвать след. функцию для показа диалога сохранения:

Код:
char *SaveFileName(HWND WndParent,char *Title,char *Filter,char *InitDir,char* &OutFileName,char *DefFName,DWORD FilterIndex=0,
                                    DWORD Flags=OFN_HIDEREADONLY|OFN_ENABLESIZING|OFN_LONGNAMES|OFN_EXPLORER)
{
    OPENFILENAMEA of={sizeof(of)};
    char fn[MAX_PATH];

    strcpy(fn,DefFName?DefFName:"");
    of.lStructSize=sizeof(of);
    of.hwndOwner=WndParent;
    of.nMaxFile=MAX_PATH;
    of.Flags=Flags;
    of.lpstrFilter=Filter;
    of.lpstrTitle=Title;
    of.lpstrFile=fn;
    of.lpstrInitialDir=InitDir;
    if (!GetSaveFileName(&of)) return NULL;
    OutFileName=(char*)malloc(of.nMaxFile);
    memcpy(OutFileName,fn,of.nMaxFile);
    return OutFileName;
}


Параметр DefFName - имя файла по умолчанию.(То, что тебе нужно)- ставишь изменённое имя;
OutFileName - Имя файла, которое юзер выбрал в качестве желаемого.
929
29 декабря 2005 года
sp999
198 / / 31.01.2003
Цитата:
Originally posted by DWORD
Попробуй вызвать след. функцию для показа диалога сохранения:

Код:
char *SaveFileName(HWND WndParent,char *Title,char *Filter,char *InitDir,char* &OutFileName,char *DefFName,DWORD FilterIndex=0,
                                    DWORD Flags=OFN_HIDEREADONLY|OFN_ENABLESIZING|OFN_LONGNAMES|OFN_EXPLORER)
{
    OPENFILENAMEA of={sizeof(of)};
    char fn[MAX_PATH];

    strcpy(fn,DefFName?DefFName:"");
    of.lStructSize=sizeof(of);
    of.hwndOwner=WndParent;
    of.nMaxFile=MAX_PATH;
    of.Flags=Flags;
    of.lpstrFilter=Filter;
    of.lpstrTitle=Title;
    of.lpstrFile=fn;
    of.lpstrInitialDir=InitDir;
    if (!GetSaveFileName(&of)) return NULL;
    OutFileName=(char*)malloc(of.nMaxFile);
    memcpy(OutFileName,fn,of.nMaxFile);
    return OutFileName;
}


Параметр DefFName - имя файла по умолчанию.(То, что тебе нужно)- ставишь изменённое имя;
OutFileName - Имя файла, которое юзер выбрал в качестве желаемого.


Я уже решил проблему, но за ответ спасибо.

С уважением, Валера.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог