using NTwain.Data; using System.Security.Permissions; using System.Windows.Forms; namespace NTwain { /// /// A customized TWAIN session for use in winform environment. /// Use this by adding this as an via . /// public class TwainSessionWinform : TwainSession, IMessageFilter { /// /// Initializes a new instance of the class. /// /// The app id. /// public TwainSessionWinform(TWIdentity appId) : base(appId) { } #region IMessageFilter Members [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)] public bool PreFilterMessage(ref Message m) { var winmsg = new MESSAGE(m.HWnd, m.Msg, m.WParam, m.LParam); return HandleWndProcMessage(ref winmsg); } #endregion } }