Hola,
Debe haber varias técnicas. Buscando por ahí se pueden ver soluciones que pasan por comprobar si el ordenador "tiene batería" y si tiene además "controladores PCMCIA"... Lo siguiente es una función que se basa en lo primero, pero, ojo, porque no funcionaría sino de Windows XP en adelante:
Código Delphi
[-]
function IsLaptop(): boolean;
var
sps: TSystemPowerStatus;
begin
GetSystemPowerStatus(sps);
result := (sps.BatteryFlag <> 128);
end;
Para más información puedes revisar la ayuda de la función "GetSystemPowerStatus()".