Привязка программы к КПК. Как?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Привязка программы к КПК. Как?

Сообщение tria » 19.02.2010 19:08:29

Текущая задача - получить уникальный Ид устройства.
Собственно, пробовал след. образом:

Код: Выделить всё
Function GetDeviceUniqueID(pbApplicationData:LPBYTE; cbApplictionData:DWORD; dwDeviceIDVersion:DWORD;
                            pbDeviceIDOutput:LPBYTE; pcbDeviceIDOutput:PULONG):HRESULT; external 'kernel32' name 'GetDeviceUniqueID';

Function GetDeviceId():string;
var AppDate:PChar;
    ln:Cardinal;
    res:array[1..50] of byte;
begin
  AppDate:='TradeUtils';
  ln:=50;
  GetDeviceUniqueID(Pointer(AppDate), Length(AppDate), 1, @Res, @ln);
end;


В общем-то работает. Но оказалось, что начиная с версии СЕ 5.ХХ
А мне надо для 4.ХХ
Нашел ф-цию:
http://msdn.microsoft.com/en-us/library/ms172516.aspx
Но я не справился с IOCTL_HAL_GET_DEVICEID
Кто может - подскажите. Си я вообще не знаю и вызовами АПИ тольком никогда не занимался...
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Re: Привязка программы к КПК. Как?

Сообщение tria » 22.02.2010 12:35:59

Беседовал с шефом - решили, что под СЕ 4.х можно оставить без защиты.

Подскажите пож. как узнать версию СЕ?

Лучше всего на уровне директив компилятору...
Кстати, а где можно посмотреть хелп по существующим директивам?
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Re: Привязка программы к КПК. Как?

Сообщение Mr.Smart » 22.02.2010 15:09:12

Директив определяющих версии виндоус не существует.
Посмотреть все существующие директивы можно в документации на FPC.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Привязка программы к КПК. Как?

Сообщение tria » 23.02.2010 18:12:01

Спасибо, разобрался.

Для тех, кого заинтересует тема:
Список директив компилятора в документациия по ФПС: ftp://ftp.freepascal.org/pub/fpc/docs-pdf/prog.pdf
в разделе:
Appendix G
Compiler defines during compilation

Версию ОС можно узнать ф-цией:
GetVersionEx(var lpVersionInformation: TOSVersionInfo): BOOL;external KernelDLL name 'GetVersionExW'
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 61

Рейтинг@Mail.ru