Foros del Web » Programación para mayores de 30 ;) » .NET »

C# P/Inovke

Estas en el tema de C# P/Inovke en el foro de .NET en Foros del Web. Hola. Trato de instalar la libreria SevenZipLib a mi programa. Jamas he usado los P/Invoke, y no se realmente como hacer la ferencia a los ...
  #1 (permalink)  
Antiguo 22/12/2015, 17:07
 
Fecha de Ingreso: abril-2012
Mensajes: 17
Antigüedad: 10 años, 4 meses
Puntos: 0
C# P/Inovke

Hola.

Trato de instalar la libreria SevenZipLib a mi programa.
Jamas he usado los P/Invoke, y no se realmente como hacer la ferencia a los dll.

Me dicen que debo usar
[DllImport("milibreria.dll", EntryPoint="suma")]

Bajo el espacio de nombres
System.Runtime.InteropServices.

y luego la funcion del entrypoint
public static extern int Sumar(int num1, int num2);

No tengo idea de como hacer eso.

He creado un nuevo archivo 7zip.cs con el siguiente codigo.

Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;

namespace PROGRAMA_1_MercElec
{
    class SevenZipArchive
    {
        [DllImport("SevenZipLib_9.13.2\\SevenZipLib\\SevenZipLib7z64.dll", EntryPoint = "seven")]
        public static extern bool seven(string filepath);
    }
}
Pero se supone que las funciones de la libreria como
Código:
using (SevenZipArchive archive = new SevenZipArchive("Sample.7z"))
{
    archive.ExtractAll(TargetDirectory);
}
deberian reconocerse, y no es asi.

La libreria se baja de aqui:
http://sevenziplib.codeplex.com/


Mi duda es de manual, como invoco P/Invoke? que estoy haciendo mal? podrian explicarme paso a paso?

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:05.