Delphi&C#代码模拟“显示桌面”的功能
2008-08-30 18:02
543 查看
今天有人问我:“用shell打开文件(显示桌面.scf)的方式还是用模拟键盘(Win+D)显示桌面”
这应该有更好的方法,就搜了搜,关键字定位“ToggleDesktop”
因为显示桌面.scf的内容是:
[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop
找到了MSDN http://msdn.microsoft.com/en-us/library/bb774124(VS.85).aspx
给出的是VB脚本和Javascript脚本,这个容易翻译:
JavaScript
<script language="JScript">
function fnIShellDispatch4ToggleDesktopJ()
{
var objShell = new ActiveXObject("Shell.Application");
objShell.ToggleDesktop();
}
</script>
uses ComObj;
procedure TForm1.Button1Click(Sender: TObject);
var
vShellApplication: OleVariant;
begin
vShellApplication := CreateOleObject('Shell.Application');
vShellApplication.ToggleDesktop;
end;
补充一个C#的写法:
private void button1_Click(object sender, EventArgs e)
{
Type oleType = Type.GetTypeFromProgID("Shell.Application");
object oleObject = System.Activator.CreateInstance(oleType);
oleType.InvokeMember("ToggleDesktop", BindingFlags.InvokeMethod, null, oleObject, null);
}
这应该有更好的方法,就搜了搜,关键字定位“ToggleDesktop”
因为显示桌面.scf的内容是:
[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop
找到了MSDN http://msdn.microsoft.com/en-us/library/bb774124(VS.85).aspx
给出的是VB脚本和Javascript脚本,这个容易翻译:
JavaScript
<script language="JScript">
function fnIShellDispatch4ToggleDesktopJ()
{
var objShell = new ActiveXObject("Shell.Application");
objShell.ToggleDesktop();
}
</script>
uses ComObj;
procedure TForm1.Button1Click(Sender: TObject);
var
vShellApplication: OleVariant;
begin
vShellApplication := CreateOleObject('Shell.Application');
vShellApplication.ToggleDesktop;
end;
补充一个C#的写法:
private void button1_Click(object sender, EventArgs e)
{
Type oleType = Type.GetTypeFromProgID("Shell.Application");
object oleObject = System.Activator.CreateInstance(oleType);
oleType.InvokeMember("ToggleDesktop", BindingFlags.InvokeMethod, null, oleObject, null);
}
相关文章推荐
- Delphi&C#代码模拟“显示桌面”的功能
- Delphi&C#代码模拟“显示桌面”的功能(使用CreateOleObject('Shell.Application'))
- Delphi代码模拟“显示桌面”的功能
- Delphi代码模拟“显示桌面”的功能
- 给CuteEditor5增加了高亮代码显示功能(C#版)
- C#使用系统的“显示桌面”功能(Shell.Application)
- "ubuntu 下 eclipse 代码提示功能显示后焦点不在eclipse内,需点击窗口才行 “ 问题的解决
- 给CuteEditor5增加了高亮代码显示功能(C#版)
- 给CuteEditor5增加了高亮代码显示功能(C#版)
- 求高手帮忙做ATM模拟系统代码,最好是用MyEclipse 或者C# ····
- C#&nbsp;小功能代码
- Delphi编程实现显示桌面功能
- js 模拟实现类似c#下的hashtable的简单功能代码
- [装载]给CuteEditor5增加了高亮代码显示功能(C#版)
- VS2010中C#代码用"转到定义"或F12转到定义时,总是显示从元数据的问题
- 给CuteEditor5增加了高亮代码显示功能(C#版)
- javascript模拟实现C# String.format函数功能代码
- 网络爬虫,用C#做一个网络爬虫demo,功能有保存网页、图片、js文件、等等其他的文件。有界面显示,有代码注释。
- 一段C#代码,模拟IIS功能