是否可以通过编程方式在Windows Vista及以上系统上触发Flip 3D mode
?
这与您手动按下CTRL + WIN + TAB是相同的。
是否可以通过编程方式在Windows Vista及以上系统上触发Flip 3D mode
?
这与您手动按下CTRL + WIN + TAB是相同的。
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;
更新:
或者如Norbert Willhelm在这里所提到的,也有一个IShellDispatch5
对象接口,这实际上引入了WindowSwitcher
方法。因此这是同样的另一种版本...
以下代码片段需要Shell32_TLB.pas单元,您可以使用Delphi创建它(请注意,您必须至少拥有Windows Vista,其中首次使用了IShellDispatch5
接口):
代码如下:
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;