public void SetPropertySystemTime(
object item,
string propertyIdName,
WiaPropertyId propertyId,
DateTime value
)
item
Handle to the item having the property. Retrieve this parameter by either calling the GetRootItem method to get the device's root item itself, or by enumerating the child items of the device through a call to the EnumChildItems method.
propertyIdName
This string should contain the equivalent property Id string for the WIA property ID. Use the GetPropertyIdString method to get this string for the property ID.
If you pass null for this parameter, then the WIA toolkit will use the property ID passed through the third parameter,
propertyId
The property ID for the value being sought. For a list of available property IDs, see WiaPropertyId.
This parameter is required only if the second parameter, propertyIdName, is null; otherwise, you can pass 0 for this parameter.
value
The WIA date value to set.
Call this function to set the passed item's date and time through the System.DateTime structure for any WiaVariableTypes.UI2 or WiaVariableTypes.Vector property (for instance, WiaPropertyId.DeviceTime or WiaPropertyId.ItemTime ).
For more information, refer to Managing WIA Sources.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Wia;
WiaSession wia_Session;
bool foundTimeItem = false;
public void GetPropertySystemTimeExample(IntPtr parent)
{
if (!WiaSession.IsAvailable(WiaVersion.Version1))
{
Console.WriteLine("WIA version 1.0 not installed.");
return;
}
wia_Session = new WiaSession();
wia_Session.Startup(WiaVersion.Version1);
DialogResult res = wia_Session.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault);
if (res != DialogResult.OK)
{
Console.WriteLine("Error selecting WIA device.");
wia_Session.Shutdown();
return;
}
object rootItem = wia_Session.GetRootItem(null);
if (rootItem != null)
{
wia_Session.EnumItemsEvent += new EventHandler<WiaEnumItemsEventArgs>(wiaSession_EnumItemsEvent5);
wia_Session.EnumChildItems(rootItem);
wia_Session.EnumItemsEvent -= new EventHandler<WiaEnumItemsEventArgs>(wiaSession_EnumItemsEvent5);
}
wia_Session.Shutdown();
}
void wiaSession_EnumItemsEvent5(object sender, WiaEnumItemsEventArgs e)
{
if(foundTimeItem)
{
e.Stop = true;
return;
}
if (e.Item != null)
{
// Get the item's system time.
try
{
DateTime dateTimeValue = wia_Session.GetPropertySystemTime(e.Item, null, WiaPropertyId.ItemTime);
foundTimeItem = true;
// You can change the item's system time to your machine system time.
dateTimeValue = System.DateTime.Now;
wia_Session.SetPropertySystemTime(e.Item, null, WiaPropertyId.ItemTime, dateTimeValue);
}
catch (Exception)
{
// item doesn't support Time property
}
try
{
wia_Session.EnumChildItems(e.Item);
}
catch (Exception)
{
// item has no children
}
wia_Session.FreeItem(e.Item);
}
}