|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » *Решено* Win32API | Базовый диалог открытия файла сам не открывается |
|
*Решено* Win32API | Базовый диалог открытия файла сам не открывается
|
![]() Старожил Сообщения: 300 |
Я пас... где ошибка???
CommDlgExtendedError() возвращает по-видимому CDERR_INITIALIZATION Цитата Windows SDK:
sizeof (OPENFILENAME)); ofn.lStructSize = sizeof (OPENFILENAME); ofn.hwndOwner = hDlg; // это хэндл диалога, из которого запускаю ofn.lpstrFilter = "Все файлы\0*.*\0\0"; ofn.nFilterIndex = 1; ofn.lpstrFile = buf; ofn.nMaxFile = 256; ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_ENABLESIZING | OFN_HIDEREADONLY | OFN_NOREADONLYRETURN; if (!GetOpenFileName(&ofn)) { sprintf(buf, "%d\0", CommDlgExtendedError()); MessageBox(0, buf, "", 0); } delete buf; |
||
Отправлено: 20:16, 21-03-2005 |
![]() Старожил Сообщения: 300
|
Профиль | Сайт | Отправить PM | Цитировать С утречка вроде получше соображаться стало
![]() char szFilter[] = TEXT("Все файлы (*.*)\0*.*\0\0"); char szBuf[MAX_PATH]; OPENFILENAME ofn; memset(&ofn, 0, sizeof (OPENFILENAME)); memset(&szBuf, 0, sizeof (szBuf)); ofn.lStructSize = sizeof (OPENFILENAME); ofn.hwndOwner = hWndMain; // это хэндл диалога, из которого запускаю, возвращенный CreateDialog() ofn.lpstrFilter = szFilter; ofn.nFilterIndex = 1L; ofn.lpstrFile = szBuf; ofn.nMaxFile = sizeof (szBuf); ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_ENABLESIZING | OFN_HIDEREADONLY | OFN_NOREADONLYRETURN; if (!GetOpenFileName(&ofn)) { sprintf(szBuf, "%d\0", CommDlgExtendedError()); } MessageBox(0, szBuf, "", 0); Эта бяка уже работает превосходно ![]() |
Отправлено: 11:28, 22-03-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Отличие в том, что не инициализируешь имя файла (в буфере лежит всякая гадость, напр."~!\?/'" а не "\0"). Попробуй в примере №1 *buf = 0; Если поможет - напиши.
|
Отправлено: 12:06, 22-04-2005 | #3 |
![]() Старожил Сообщения: 300
|
Профиль | Сайт | Отправить PM | Цитировать pva
Цитата:
![]() |
|
Отправлено: 15:19, 22-04-2005 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Как вызвать диалоговое окно открытия файла? | jaki | Скриптовые языки администрирования Windows | 4 | 30-03-2011 12:12 | |
Любой язык - [решено] Удаление файла после открытия | intersk | Скриптовые языки администрирования Windows | 6 | 08-04-2009 07:46 | |
[решено] Диалог открытия файла + добавление текста в существующий лейбл | D_Master | AutoIt | 8 | 13-02-2009 22:16 | |
[решено] зависает папка после открытия файла | igoriss | Microsoft Windows 2000/XP | 13 | 15-03-2007 22:53 | |
Исчез диалог открытия/сохранения файла | tri777ki | Microsoft Windows 2000/XP | 1 | 10-03-2007 18:16 |
|