1 Attachment(s)
Show Desktop , Using Type.InvokeMethod.
here's a simple code i put together showing the use of Type.InvokeMethod. I've built a few complex codes ( for example creating a custom internet explorer object ) , but this is a basic sample to ease people in to how it works.
this will carry out the same function as using the Show Desktop icon on your taskbar.
VB Code:
[Color=Blue]private[/color] Type typeShell=[Color=Blue]null[/color];
[Color=Blue]private[/color] [Color=Blue]object[/color] objShell=Type.Missing;
[Color=Blue]private[/color] [Color=Blue]void[/color] button1_Click([Color=Blue]object[/color] sender, System.EventArgs e)
{
[Color=Green]//[/color] [Color=Green]to[/color] [Color=Green]Minimize[/color] [Color=Green]all[/color] [Color=Green]windows[/color] [Color=Green]on[/color] [Color=Green]the[/color] [Color=Green]desktop[/color] [Color=Green].[/color] [Color=Green]
[/color] [Color=Green]//[/color] [Color=Green]first[/color] [Color=Green]we[/color] [Color=Green]get[/color] [Color=Green]the[/color] [Color=Green]type[/color] [Color=Green]from[/color] [Color=Green]the[/color] [Color=Green]Shell[/color] [Color=Green].[/color] [Color=Green]Application
[/color] typeShell=Type.GetTypeFromProgID("Shell.Application");
[Color=Green]//[/color] [Color=Green]next[/color] [Color=Green]we[/color] [Color=Green]create[/color] [Color=Green]the[/color] [Color=Green]object[/color] [Color=Green]"[/color] [Color=Green]objShell[/color] [Color=Green]"[/color] [Color=Green]from[/color] [Color=Green]the[/color] [Color=Green]type[/color] [Color=Green]"[/color] [Color=Green]typeShell[/color] [Color=Green]"
[/color] objShell=Activator.CreateInstance(typeShell);
[Color=Green]//[/color] [Color=Green]finally[/color] [Color=Green]we[/color] [Color=Green]Invoke[/color] [Color=Green]"[/color] [Color=Green]MinimizeAll[/color] [Color=Green]"[/color] [Color=Green]to[/color] [Color=Green]show[/color] [Color=Green]the[/color] [Color=Green]desktop
[/color] typeShell.InvokeMember("MinimizeAll",System.Reflection.BindingFlags.InvokeMethod,[Color=Blue]null[/color],objShell,[Color=Blue]null[/color]);
}
[Color=Blue]private[/color] [Color=Blue]void[/color] button2_Click([Color=Blue]object[/color] sender, System.EventArgs e)
{
[Color=Green]//[/color] [Color=Green]as[/color] [Color=Green]above[/color] [Color=Green]but[/color] [Color=Green]Invoking[/color] [Color=Green]"[/color] [Color=Green]UndoMinimizeAll[/color] [Color=Green]"[/color] [Color=Green]to[/color] [Color=Green]restore[/color] [Color=Green]all[/color] [Color=Green]the[/color] [Color=Green]Desktop[/color] [Color=Green]windows
[/color] typeShell=Type.GetTypeFromProgID("Shell.Application");
objShell=Activator.CreateInstance(typeShell);
typeShell.InvokeMember("UndoMinimizeAll",System.Reflection.BindingFlags.InvokeMethod,[Color=Blue]null[/color],objShell,[Color=Blue]null[/color]);
}
also, i've included a sample source...