Готового нет, да и 100% способа определить тоже нет.
VirtualBox можно этим проверить.
CODE:#define OPEN_EXISTING 3
#define GENERIC_WRITE 1073741824
external(INT, "CreateFile", "CreateFileA", "Kernel32.dll" );
external(INT, "CloseHandle", "CloseHandle", "Kernel32.dll" );
function virtualbox()
{
int handle=CreateFile("\\.\VBoxGuest", GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if(handle != -1){CloseHandle(handle); return 1;}
handle=CreateFile("\\.\VBoxMiniRdrDN", GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if(handle != -1 ){CloseHandle(handle); return 1;}
return 0;
}
if(virtualbox())messagebox("VirtualBox");
else messagebox("---"); |