Not sure it's 100%, but it worked in my VMWare test sessions.

Code:
Break On


if isVMWare
? "VMWare Session"
else
? "Not VMWare Session"
endif




function IsVMWare
dim $objWMIService, $colItem, $objItem
$objWMIService = GetObject("winmgmts:\\.\root\cimv2")
$colItems = $objWMIService.ExecQuery("Select * from Win32_BIOS")
For each $objItem in $colItems
if instr($objItem.SerialNumber,"VMWARE")
$ISVMWare=1
endif
Next
Endfunction