Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  3 840

•  TDictionary Custom Sort  5 942

•  Fast Watermark Sources  5 736

•  3D Designer  8 535

•  Sik Screen Capture  6 078

•  Patch Maker  6 511

•  Айболит (remote control)  6 500

•  ListBox Drag & Drop  5 361

•  Доска для игры Реверси  95 142

•  Графические эффекты  6 711

•  Рисование по маске  5 863

•  Перетаскивание изображений  4 893

•  Canvas Drawing  5 266

•  Рисование Луны  4 994

•  Поворот изображения  4 537

•  Рисование стержней  3 211

•  Paint on Shape  2 455

•  Генератор кроссвордов  3 339

•  Головоломка Paletto  2 646

•  Теорема Монжа об окружностях  3 437

•  Пазл Numbrix  2 272

•  Заборы и коммивояжеры  2 933

•  Игра HIP  1 901

•  Игра Go (Го)  1 817

•  Симулятор лифта  2 156

•  Программа укладки плитки  1 882

•  Генератор лабиринта  2 320

•  Проверка числового ввода  2 010

•  HEX View  2 327

•  Физический маятник  1 982

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Определить, что программа запущена в пространстве VMware



Оформил: DeeCo

//////////////////////////////////////////////////////////////////////////////// 
// 
//  Simple VMware check on i386 
// 
//    Note: There are plenty ways to detect VMware. This short version bases 
//    on the fact that VMware intercepts IN instructions to port 0x5658 with 
//    an magic value of 0x564D5868 in EAX. However, this is *NOT* officially 
//    documented (used by VMware tools to communicate with the host via VM). 
// 
//    Because this might change in future versions - you should look out for 
//    additional checks (e.g. hardware device IDs, BIOS informations, etc.). 
//    Newer VMware BIOS has valid SMBIOS informations (you might use my BIOS 
//    Helper unit to dump the ROM-BIOS (http://www.bendlins.de/nico/delphi). 
// 

function IsVMwarePresent(): LongBool; stdcall;  // platform; 
begin
   Result := False;
  {$IFDEF CPU386}
   try
     asm
             mov     eax, 564D5868h
             mov     ebx, 00000000h
             mov     ecx, 0000000Ah
             mov     edx, 00005658h
             in      eax, dx
             cmp     ebx, 564D5868h
             jne     @@exit
             mov     Result, True
     @@exit:
     end;
   except
     Result := False;
   end;
 {$ENDIF}
 end;




Похожие по теме исходники

Программа укладки плитки




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте