Можно ли активировать Flip 3D mode
на Windows Vista выше систем программно?
Это так же, как если бы вы вручную нажимали CTRL + WIN + TAB
Как войти в режим Windows Flip 3D в Windows Vista и более поздних версиях?
comment
Я разместил это только для того, чтобы поделиться. Я не знаю его реального практического использования (даже если мне нравится этот режим :)
- person TLama   schedule 24.11.2011
comment
Обратите внимание, что эта функция отсутствует в Windows 8.
- person Deanna   schedule 28.09.2012
comment
@Deanna, как и весь Aero... От земли до деревьев.
- person TLama   schedule 28.09.2012
Ответы (1)
Shell
объект имеет WindowSwitcher
a> метод, который может вызывать этот режим.
Вот пример кода 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;
Обновление:
Или, как упоминал здесь Норберт Вильгельм, существует также IShellDispatch5
объектный интерфейс, который фактически представляет WindowSwitcher
. Итак, вот еще одна версия того же...
Для следующего фрагмента кода требуется модуль Shell32_TLB.pas, который вы можете создать в Delphi таким образом (обратите внимание, что у вас должна быть как минимум Windows Vista, где IShellDispatch5
был использован в первый раз):
- перейдите в меню Компонент/Импорт компонента
- продолжить с выбранным Импорт библиотеки типов
- выберите Элементы управления и автоматизация Microsoft Shell и завершите работу мастера.
И код:
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;
person
TLama
schedule
24.11.2011
Существует также IShellDispatch5.
- person Norbert Willhelm; 24.11.2011