Определяем разрядность программы: 16-бит DOS, 16-бит Windows, 32-бит Windows, 64-бит Windows.
1 2 3 4 5 6 7 8 |
var path: WideString; res: string; begin path:= 'C:\Windows\notepad.exe'; res:= getFilePlatfotm(path); ShowMessage(res); end; |
Параметры
path - путь к приложению
Результат
Строка с описанием разрядности, или пустая строка в случае: неудачи, отсутствия файла, если файл не является приложением DOS или Windows.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
function getFilePlatfotm(path: string): string; var bt: Cardinal; begin result:= ''; if GetBinaryType(PChar(path), bt) then case bt of SCS_DOS_BINARY : result := '16-bit DOS'; SCS_WOW_BINARY : result := '16-bit Windows'; SCS_32BIT_BINARY : result := '32-bit'; SCS_64BIT_BINARY : result := '64-bit'; end; end; |