Подтвердить что ты не робот

Как войти в режим Windows Flip 3D в Windows Vista и выше?

Можно ли запускать Flip 3D mode в Windows Vista над системами программно?

enter image description here

Это то же самое, что если вы вручную нажимаете CTRL + WIN + TAB

4b9b3361

Ответ 1

Объект Shell имеет WindowSwitcher, который может вызвать этот режим.

Вот пример кода Delphi:

uses
  ComObj;

procedure EnterWindowSwitcherMode;
var
  Shell: OleVariant;
begin
  try
    Shell := CreateOleObject('Shell.Application');
    Shell.WindowSwitcher;
  finally
    Shell := Unassigned;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Win32MajorVersion >= 6 then // are we at least on Windows Vista ?
  begin
    try
      EnterWindowSwitcherMode;
    except
      on E: Exception do
        ShowMessage(E.ClassName + ': ' + E.Message);
    end;
  end;
end;


Update:

Или как Норберт Вильгельм, упомянутый здесь, есть также IShellDispatch5 который фактически вводит метод WindowSwitcher. Так вот другая версия того же...

В следующем фрагменте кода требуется блок Shell32_TLB.pas, который вы можете создать в Delphi таким образом (обратите внимание, что у вас должна быть хотя бы Windows Vista, где IShellDispatch5 был использован первый раз):

  • перейти в меню Компонент/Импорт Компонент
  • продолжить с выбранным Импортировать библиотеку типов
  • выберите Microsoft Shell Controls And Automation и завершите работу мастера

И код:

uses
  Shell32_TLB;

procedure EnterWindowSwitcherMode;
var
  // on Windows Vista and Windows 7 (at this time :)
  // is Shell declared as IShellDispatch5 object interface
  AShell: Shell;
begin
  try
    AShell := CoShell.Create;
    AShell.WindowSwitcher;
  finally
    AShell := nil;
  end;
end;