purtroppo il link non lo trovo, comunque dovrebbe andare questa :
codice:
using System;
using System.Runtime.InteropServices;
namespace HellCamCSharp
{
/// <summary>
/// Modulo per la gestione dei messaggi alla avicap32.dll
/// </summary>
public class Capture
{
//Di seguito un elenco di variabili necessarie per dialogare con la DLL
public static short WM_CAP = 1024;
public static long WM_USER = 1024;
public static int WM_CAP_DRIVER_CONNECT = WM_CAP + 10;
public static int WM_CAP_DRIVER_DISCONNECT = WM_CAP + 11;
public static int WM_CAP_EDIT_COPY = WM_CAP + 30;
public static long WM_CAP_FILE_SAVEDIB = WM_USER + 25;
public static long WM_CAP_FILE_SAVEAS = WM_USER + 23;
public static int WM_CAP_SET_PREVIEW = WM_CAP + 50;
public static int WM_CAP_SET_PREVIEWRATE = WM_CAP + 52;
public static int WM_CAP_SET_SCALE = WM_CAP + 53;
public static int WS_CHILD = 1073741824;
public static int WS_VISIBLE = 268435456;
public static short SWP_NOMOVE = 2;
public static short SWP_NOSIZE = 1;
public static short SWP_NOZORDER = 4;
public static short HWND_BOTTOM = 1;
//creiamo delle funzioni che
//faranno da riferimento a routine esterne della nostra dll
/// <summary>
///
/// </summary>
/// <param name="hwnd"></param>
/// <param name="wMsg"></param>
/// <param name="wParam"></param>
/// <param name="lParam"></param>
/// <returns></returns>
[DllImport("USER32.DLL")]
public static extern int SendMessageA(
int hwnd,
int wMsg,
int wParam,
[MarshalAs(UnmanagedType.AsAny)] object lParam
);
/// <summary>
/// La funzione cambia la dimensione, posizione,
/// e l'ordine della finestra e se in primo piano.
/// </summary>
/// <param name="hwnd">Handle della finestra</param>
/// <param name="hWndInsertAfter">Handle della finestra precede in ordine quella selezionata</param>
/// <param name="x">Coordinata X</param>
/// <param name="y">Coordinata Y</param>
/// <param name="cx">Dimensioni in larghezza</param>
/// <param name="cy">Dimensioni in Altezza</param>
/// <param name="wFlags">Specifica le opzioni aggiuntive</param>
/// <returns>Se ha avuto successo ritorna un valore non zero</returns>
[DllImport("USER32.DLL")]
public static extern int SetWindowPos(
int hwnd,
int hWndInsertAfter,
int x,
int y,
int cx,
int cy,
int wFlags
);
/// <summary>
/// Metodo che distrugge una finestra
/// </summary>
/// <param name="hwnd">Handle della finestra</param>
/// <returns>True o false a seconda dell'esito dell'operazione</returns>
[DllImport("USER32.DLL")]
public static extern bool DestroyWindow(int hwnd);
/// <summary>
/// Metodo che dirige il flusso alla finestra di preview
/// </summary>
/// <param name="lpszWindowName"></param>
/// <param name="dwStyle"></param>
/// <param name="x"></param>
/// <param name="y"></param>
/// <param name="nWidth"></param>
/// <param name="nHeight"></param>
/// <param name="hWndParent"></param>
/// <param name="nID"></param>
/// <returns></returns>
[DllImport("AVICAP32.dll")]
public static extern int capCreateCaptureWindowA(
string lpszWindowName,
int dwStyle,
int x,
int y,
int nWidth,
short nHeight,
int hWndParent,
int nID
);
/// <summary>
/// Funzione che ritorna l'esistenza o no di un driver
/// </summary>
/// <param name="wDriver"></param>
/// <param name="lpszName"></param>
/// <param name="cbName"></param>
/// <param name="lpszVer"></param>
/// <param name="cbVer"></param>
/// <returns></returns>
[DllImport("AVICAP32.dll")]
public static extern bool capGetDriverDescriptionA(
short wDriver,
string lpszName,
int cbName,
string lpszVer,
int cbVer
);
}
}
comunque continuo a cercarlo, cosi' puoi avere acesso alla fonte completa