c# shell32

¿Cómo usar Shell32 dentro de una aplicación C#?



(8)

  1. Haga clic derecho en su proyecto en el explorador de soluciones.
  2. Elija "Agregar referencia ..." en el menú desplegable.
  3. Haga clic en la pestaña "Examinar".
  4. Navegue hasta el directorio C: / Windows / System32.
  5. Elija el archivo "shell32.dll". y presione el botón "OK".

Ahora tiene la referencia adecuada para usar Shell32.Shell.

¿Qué debo incluir dentro de una aplicación de C # para hacer que Shell32 funcione?

Editar:

Mi aplicación no puede reconocer shell32. ¿Qué referencias o lib debo incluir? Lo que estoy tratando de hacer es:

Shell32.Shell shell = new Shell32.Shell();

Lo que estoy recibiendo como un error:

Error 1 No se pudo encontrar el tipo o el nombre de espacio de nombres ''Shell32'' (¿falta una directiva de uso o una referencia de ensamblado?)


La clase que se muestra a continuación debería ayudar con algunos de los métodos de shell32 en C #. debe agregar la referencia de "Comando y automatización de Microsoft Shell" con la ventana de referencia haciendo clic derecho en el proyecto.

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MusicMuttPrototype { public class clsShellFileInfo { public Exception errorException; public enum FileDetailInfo { Name = 0, Year = 15, Size = 1, Track_Number = 19, Type = 2, Genre = 20, Date_Modified = 3, Duration = 27, Date_Created = 4, Bit_Rate = 28, Date_Accessed = 5, Protected = 23, Attributes = 6, Camera_Model = 24, Status = 7, Date_Picture_Taken = 25, Owner = 8, Dimensions = 26, Author = 9, Not_used = 27, Title = 10, Not_used_file = 28, Subject = 11, //Not_used = 29, Category = 12, Company = 30, Pages = 13, Description = 31, Comments = 14, File_Version = 32, Copyright = 15, Product_Name_Chapter = 33, //Scripting Quicktest Profess11ional Page 63 Artist = 16, Product_Version = 34, Album_Title = 17, Retrieves_the_info_tip_inf = -1 } public string getFileDetails(string fileFolder, string filePath, FileDetailInfo infotype) { string strReturnval = ""; try { Shell32.Shell fileshell = new Shell32.Shell(); Shell32.Folder fileshellfolder = fileshell.NameSpace(fileFolder); Shell32.FolderItem Item = fileshellfolder.ParseName(filePath); strReturnval = fileshellfolder.GetDetailsOf(Item, (int)infotype); } catch (Exception ex) { errorException = ex; } return strReturnval; } } }


La referencia al shell32.dll real está en desuso. Obtendrá errores en .NET Framework 4+. El uso de .NET Framework anterior solo para usar shell32.dll limita las capacidades de su programa. En las aplicaciones para Windows 7+ y .NET Framework 4+ siempre debe utilizar el componente .COM en su lugar. Haga clic derecho en el proyecto. Haga clic en Agregar referencia. Haga clic en la pestaña .COM en el diálogo Agregar referencia. Seleccione Microso.ft Shell Controls and Automation. Haga clic en Aceptar


Sé que este hilo es antiguo, pero lo publico para cualquier persona que tenga el mismo problema que yo. La solución anterior no compila bajo windows 8

Shell32.Shell shell = nuevo Shell32.Shell (); <= esto no funciona con Windows 8

Utilice la solución de trabajo a continuación si desea que sus aplicaciones se ejecuten en Windows 8.

using Shell32; private Shell32.Folder GetShell32Folder(string folderPath) { Type shellAppType = Type.GetTypeFromProgID("Shell.Application"); Object shell = Activator.CreateInstance(shellAppType); return (Shell32.Folder)shellAppType.InvokeMember("NameSpace", System.Reflection.BindingFlags.InvokeMethod, null, shell, new object[] { folderPath }); }



Solo Add Reference a Shell32.dll desde la carpeta Windows/system32 y Shell32.dll :

Shell32.Shell shell = new Shell32.Shell(); shell.MinimizeAll();



tal vez esto pueda ayudar

  1. Clic derecho proyecto
  2. Haga clic en Add reference
  3. Haga clic en la pestaña .COM en el diálogo Add reference
  4. Seleccione Microsoft Shell Controls and Automation
  5. Haga clic en OK

tu shell32 está listo para usar ...