declare integer GetCurrentHwProfile in advapi32 string@ declare integer GetLastError in kernel32 lcdocked = chr(1)+replicate(chr(0),3) && equates to desktop computers (always docked) lcguid = replicate(chr(0),39) && room for GUID identifier along with brackets and null terminator lcname = replicate(chr(0),80) && room for name of profile (80 character limit) lcstruct = lcdocked+lcguid+lcname if GetCurrentHwProfile(@lcstruct) <> 0 then * it worked ? substr(lcstruct,4,39) && prints GUID identifier ? substr(lcstruct,44,80) && prints name of profile with trailing null terminiators (you can trim these using at() to find first occurrence) else ? GetLastError() endifHTH.