Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 31.03.2018, 11:44   #1
Фазан
Пользователь
 
Регистрация: 31.10.2017
Сообщений: 11
Репутация: 10
Вопрос Как узнать дескриптор по полному имени файла? С++

Всем доброго времени суток.

Полный путь был получен через функцию GetOpenFileNameW:
Код:


                                               WCHAR fn[1024];
					       fn[0]='\0';
                                               OPENFILENAMEW ofn;
                                               ofn.lStructSize = sizeof(OPENFILENAMEW);
                                               ofn.hwndOwner = hwnd;
                                               ofn.lpstrFilter = L"\0*.*\0\0";
                                               ofn.lpstrCustomFilter = NULL;
                                               ofn.nFilterIndex = 1;
                                               ofn.lpstrFile = fn;
                                               ofn.nMaxFile = 1024;
                                               ofn.lpstrFileTitle = NULL;
                                               ofn.lpstrInitialDir = NULL;
                                               ofn.lpstrTitle = NULL;
                                               ofn.Flags = OFN_EXPLORER;
                                               ofn.lpstrDefExt = NULL;
                                               ofn.FlagsEx = 0;
                                               
                                              
                                                if (GetOpenFileNameW(&ofn))
                                                {
                                                 //здесь неудачная попытка получения
                                                  //дескриптора 
                                                }

Хотел получить дескриптор через CreateFile, но чтобы узнать неизвестные мне данные для CreateFile, нужен дескриптор. Который мне как-раз и нужен

Пожалуйста помогите, уже 3 дня не могу додуматься.

Последний раз редактировалось Фазан; 31.03.2018 в 12:25.
Фазан вне форума   Ответить с цитированием
Старый 31.03.2018, 12:09   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,063
Репутация: 2054

icq: 216409213
По умолчанию

Так откройте файл. Диалог выбора файла ничего сам не открывает.

Цитата:
Хотел получить дескриптор через CreateWindow
А она тут причем? Даже название создать окно намекает, что это не про файлы.

Цитата:
но чтобы узнать неизвестные мне данные для CreateWindow, нужен дескриптор
Вы что-то путаете.

Цитата:
Который мне как-раз и нужен
Нет
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 31.03.2018, 12:23   #3
Фазан
Пользователь
 
Регистрация: 31.10.2017
Сообщений: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Так откройте файл. Диалог выбора файла ничего сам не открывает.
Мне нужно именно через диалог, чтобы пользователь мог через него выбрать файл.
А в выбранный файл нужно записать то что находится в одно строчном редакторе(который нормально работает).
Фазан вне форума   Ответить с цитированием
Старый 31.03.2018, 12:59   #4
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 16,844
Репутация: 3300

icq: 512-765
skype: alexp.frl
По умолчанию

Причем тут пользователь? Диалог дает вам путь файла.
Alex11223 на форуме   Ответить с цитированием
Старый 31.03.2018, 13:03   #5
Фазан
Пользователь
 
Регистрация: 31.10.2017
Сообщений: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Диалог дает вам путь файла.
Я знаю. Даёт путь, но не даёт дескриптор. Чтобы записать нужен дескриптор.
Через путь я не знаю как. Именно поэтому я спрашивал как получить дескриптор зная полный путь файла.
Фазан вне форума   Ответить с цитированием
Старый 31.03.2018, 13:06   #6
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 16,844
Репутация: 3300

icq: 512-765
skype: alexp.frl
По умолчанию

Дык CreateFile же и есть для этого.
Alex11223 на форуме   Ответить с цитированием
Старый 31.03.2018, 13:11   #7
Фазан
Пользователь
 
Регистрация: 31.10.2017
Сообщений: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Дык CreateFile же и есть для этого.
Если я тупо задам один путь, а все другое ноль, то оно не работает.Проверял.
А чтоб узнать всё другое(права доступа,записи и т.п.) нужен дескриптор
Фазан вне форума   Ответить с цитированием
Старый 31.03.2018, 13:19   #8
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 16,844
Репутация: 3300

icq: 512-765
skype: alexp.frl
По умолчанию

Так читайте что какой параметр значит.
Для чего именно нужен?
Alex11223 на форуме   Ответить с цитированием
Старый 31.03.2018, 13:22   #9
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,063
Репутация: 2054

icq: 216409213
По умолчанию

Цитата:
Сообщение от Фазан Посмотреть сообщение
Я знаю. Даёт путь, но не даёт дескриптор. Чтобы записать нужен дескриптор.
ТАК ОТКРОЙТЕ ФАЙЛ. ПОКА ФАЙЛ НЕ ОТКРЫТ НИКАКОГО ДЕСКРИПТОРА НЕТ. Это просто набор байтов на диске.

Цитата:
А чтоб узнать всё другое(права доступа,записи и т.п.) нужен дескриптор
НЕТ. Читайте описание. Это вы указываете как хотите открыть файл, а система решит - можно или нет.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 31.03.2018, 13:40   #10
Фазан
Пользователь
 
Регистрация: 31.10.2017
Сообщений: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
НЕТ. Читайте описание. Это вы указываете как хотите открыть файл, а система решит - можно или нет.
Спасибо, теперь дошло. Я этого просто не знал про CreateFile.
Фазан вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, плз, как экранировать(?) прямой слеш(/) в имени файла, чтобы java не воспринимала его как символы перед ним как другую директория? Сергей_ТВ Общие вопросы по Java, Java SE, Kotlin 3 24.10.2016 16:15
Полному новичку C++ Базовые понятия-класс. Как он сотносится с обьектом?Как скомпилить пример из сайта? Dimka-novitsek Общие вопросы C/C++ 15 26.08.2013 14:50
Узнать дескриптор экранного буфера Kix.IV Win Api 12 01.04.2013 19:16
Как узнать запущена ли программа(не по имени файла а по пути) Crystallon Общие вопросы Delphi 10 03.08.2011 13:39
Узнать дескриптор процесса, блокирующего USB Denager Общие вопросы Delphi 3 01.07.2010 16:09


00:17.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru