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?