I am Using a fingerprint Scanner for attendance posting.
My aim is to copy the attendance log files from the fingerprint reader machine.the machine is connected to one of the lan ports on the same network.I know the ip address of the device and port no,But dont know how to read from the device.My finger print machine vendor is Click Here
I am not using the sdk provided by the vendor (to make the application device independent)
Plz share any helpful links and source codes .I cant access the devices memory

Recommended Answers

All 6 Replies

I am not using the sdk provided by the vendor

There is your first issue. You will need to use it and write seperate classes depending on which scanner is plugged in. You would be better off developing for one specific type though as even by avoiding using the SDK if you manage to access the scanner's memory that may not work on a different type.

Thanks Mike Askew For ur reply ;-)

But the problem is the sdk am using is not paid one,it supports only limited devices.
what i am trying to find out is how i can fetch the log file without using this dll.
the scanner is connected on a lan port with a known ip address,dont know how to read from its memory.can i make its memory like a shared path?
I think its possible by using some methods in System.Net.Sockets namespace.
have tried a lot but sockets work only on client and servers .stucked here ;-(
Is it possible ?
to interact with the device what should i do?
plz share ur valuable suggestions

if i use the dll provided by the vendor it works fine,but will support only limited machines.
this is the code when using the dll zkemkeeper from the vendor

zkemkeeper.CZKEMClass axczkem1 = new zkemkeeper.CZKEMClass();
////////ip="192.168.1.150" (device ip) 
/////////port=4370
//////connecting device
axczkem1.Connect_Net(ip, port);
/////////registering device
axczkem1.RegEvent(axczkem1.MachineNumber, 65535);
///////////disable device before each access
axczkem1.EnableDevice(axczkem1.MachineNumber, false);
///////////reading attendance log
axczkem1.ReadGeneralLogData(axczkem1.MachineNumber);
 while (axczkem1.SSR_GetGeneralLogData(axczkem1.MachineNumber, out sdwEnrollNumber, out idwVerifyMode,out idwInOutMode, out idwYear, out idwMonth, out idwDay, out idwHour, out idwMinute, out idwSecond, ref idwWorkcode))//get records from the memory
{
/////////////code to fetch details
}
////////////enable device after each use
axczkem1.EnableDevice(axczkem1.MachineNumber, true);
//////////clearing attendance log
axczkem1.ClearGLog(axczkem1.MachineNumber)
///////////////refreshing device
 axczkem1.RefreshData(axczkem1.MachineNumber)

the device have an USB port and it has an option download,using it i can download the log to pendrive as .dat format.
from the .dat file its easy to fetch the attendance.but this manual download wont seem good in case of multiple devices . thats why am trying to fetch data from devices using its ip addresses,but i have no idea of how to read data from device...

I personally couldn't comment on how to do it without the SDK as it isn't something I have done.

But even if you manage to access this device without using the SDK, another device may have a different underlying setup which again would break your code. Making your whole choice of access pointless and may as well have just used the SDK.

Either way expect to have to write multiple ways depending upon which device is used, SDK would be simpler.

i use this code but it return false...help required...

zkemkeeper.CZKEM macobj = new zkemkeeper.CZKEM();
string ipaddress = "192.168.1.101";
            int port = 4370;
            status = macobj.Connect_Net(ipaddress, port);
            if (status == true)
            {
                MessageBox.Show("Connected");
            }
            else
            {
                MessageBox.Show("Not Connected");
            }
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.