Форум » Для флейма » Идентификатор файла по хендлу » Ответить
Идентификатор файла по хендлу
fil: Я так понимаю, ятобы получить идентификаиор файла по хендлу надо пользовать GetFileInformationByHandle(hFile, bhfi), где hFile - хенл файла bhfi - параметр указывающий на тип получаемой инфы. А вот как его описать непонятно ?
Ответов - 6
Петр: fil пишет: bhfi - параметр указывающий на тип получаемой инфы. A pointer to a BY_HANDLE_FILE_INFORMATION structure that receives the file information. .. BY_HANDLE_FILE_INFORMATION FileInformation; GetFileInformationByHandle( hFile, &FileInformation);
fil: Что BY_HANDLE_FILE_INFORMATION это адрес структуры я в инете прочитал, а вот как с ним работать в формате Harbour ?
Петр: Через функцию-переходник на C. Хотя бы так: [pre2] #include <windows.h> #include "hbapi.h" HB_FUNC( WIN_NUMBEROFLINKS ) { HANDLE hFile = hb_parnl( 1 ); // или что-то в этом роде BY_HANDLE_FILE_INFORMATION FileInformation; GetFileInformationByHandle( hFile, &FileInformation); hb_retnint( FileInformation.nNumberOfLinks ); } [/pre2]
fil: Ага т.е. я меняю nNumberOfLinks на nFileIndexHigh. Правда индекс состоит из nFileIndexHigh и nFileIndexLow т.е. мне 2 раза эту опрецию проделать ?
Петр: fil пишет: т.е. мне 2 раза эту опрецию проделать ? Используйте массив hb_reta( 2 ); hb_storvnint( FileInformation.nFileIndexHigh, -1, 1 ); hb_storvnint( FileInformation.nFileIndexLow, -1, 2 );
fil: Таки да, работает. Спасибо, Петр !
полная версия страницы