![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
Можно ли узнать имя файла и путь по его hFile?
-------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Так ты узнаешь и не только это:
BOOL GetFileInformationByHandle( HANDLE hFile, // handle of file LPBY_HANDLE_FILE_INFORMATION lpFileInformation // address of structure ); -------------------- С уважением, г-н Посол. |
|||
|
||||
| Гость_cully |
|
|||
|
Unregistered |
хм, что-то не ясно как имя получить...
typedef struct _BY_HANDLE_FILE_INFORMATION { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD dwVolumeSerialNumber; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD nNumberOfLinks; DWORD nFileIndexHigh; DWORD nFileIndexLow; } BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION; имени-то нет |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
И правда... Неплохо я иногда глючу ? Если узнаешь как узнать
обязательно - мне самому интересно стало... -------------------- С уважением, г-н Посол. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Есть прога HandleEx - там можно узнать имя по хэндлу, интересно как она работает ?
-------------------- С уважением, г-н Посол. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
В www.sysinternals.com написано что HandleEx и ProcessExplorer юзают недокументированные
команды... Че-то там еще говорилось про MSDN, попробуй там поискать. Для Windows NT нужно юзать ntdll.dll, функции Nt.... (например, NtQueryObject). Может кто-нибудь знает модуль для delphi или C в котором прописаны функции ntdll ? -------------------- С уважением, г-н Посол. |
|||
|
||||
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
Вот что-то с msdn'ки, только надо ещё разобраться куда это он имя файла пихает.
И ещё вопрос есть какая-нибудь функция типа SetFileOptions(hFile:Cardinal; Flags:Cardinal), чтобы можно было задавать пользовательские флаги файловому описателю? Это сообщение отредактировал(а) Mikel - 31.7.2003, 08:16 -------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Вот ведь, а! Смотрел же эти FileMappingи, только не было в хелпе функции GetMappedFileName...
Имя файла получается в pszFileName. Вот delphi-версия:
А насчет флагов - это вряд ли, есть SetHandleInformation, дак там свои флаги нельзя поставить. Если только ты сам организуешь какой-нибудь буфер под флаги хэндлов, состоящий из двух полей handle, flags. -------------------- С уважением, г-н Посол. |
|||
|
||||
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
Спасибо за перевод, попробую
-------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |