Files
ntwain/NTwain/TwainSessionWinform.cs

33 lines
1.1 KiB
C#
Raw Normal View History

using NTwain.Data;
2014-04-06 08:22:59 -04:00
using System.Security.Permissions;
using System.Windows.Forms;
namespace NTwain
{
/// <summary>
/// A customized TWAIN session for use in winform environment.
/// Use this by adding this as an <see cref="IMessageFilter "/> via <see cref="Application.AddMessageFilter"/>.
/// </summary>
2014-04-05 21:54:08 -04:00
public class TwainSessionWinform : TwainSession, IMessageFilter
{
/// <summary>
/// Initializes a new instance of the <see cref="TwainSessionWinform" /> class.
/// </summary>
/// <param name="appId">The app id.</param>
/// <exception cref="System.ArgumentNullException"></exception>
public TwainSessionWinform(TWIdentity appId) : base(appId) { }
#region IMessageFilter Members
2014-04-06 08:22:59 -04:00
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public bool PreFilterMessage(ref Message m)
{
2014-04-06 08:22:59 -04:00
var winmsg = new MESSAGE(m.HWnd, m.Msg, m.WParam, m.LParam);
return HandleWndProcMessage(ref winmsg);
}
#endregion
}
}