Attempt to resurrect my old triplet ideas with new data types and native methods.

This commit is contained in:
Eugene Wang
2023-04-01 12:57:07 -04:00
parent 260ae9fdef
commit e68525775d
17 changed files with 479 additions and 10 deletions

View File

@@ -0,0 +1,51 @@
using NTwain;
using System;
using System.Diagnostics;
using System.Reflection;
using System.Windows.Forms;
using TWAINWorkingGroup;
namespace WinForm32
{
public partial class Form1 : Form
{
private TwainSession twain;
public Form1()
{
InitializeComponent();
InitTwain();
}
private void InitTwain()
{
TwainPlatform.PreferLegacyDSM = true;
twain = new TwainSession(Assembly.GetExecutingAssembly().Location);
twain.StateChanged += Twain_StateChanged;
}
private static void Twain_StateChanged(TwainSession session, TWAINWorkingGroup.STATE state)
{
Console.WriteLine($"State changed to {state}");
}
protected override void OnHandleCreated(EventArgs e)
{
base.OnHandleCreated(e);
var hwnd = this.Handle;
var rc = twain.DGControl.Parent.OpenDSM(ref hwnd);
Debug.WriteLine($"OpenDSM={rc}");
if (rc == TWAINWorkingGroup.STS.SUCCESS)
{
Debug.WriteLine($"CloseDSM={rc}");
rc = twain.DGControl.Parent.CloseDSM(ref hwnd);
}
}
}
}