Можно ли запускать Flip 3D mode
в Windows Vista над системами программно?
Это то же самое, что если вы вручную нажимаете CTRL + WIN + TAB
Как войти в режим Windows Flip 3D в Windows Vista и выше?
Ответ 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;