Donate. I desperately need donations to survive due to my health

Get paid by answering surveys Click here

Click here to donate

Remote/Work from Home jobs

Windows, Controlling user processes

I'm developing a Java application for the presence control of the employees of a company, the application takes the worked time of the employee since he arrives to the office until the out time, also it reports to a database his / her idling time.

I know a lot of companies (almost all) just get the in / out date when the employee pass an ID card or just put his / her fingerprint, but in this case it's a software that must be installed in the employees computer and when they arrive they do a login, and it starts counting (update time in the database each 30 seconds), if something happens with the pc (gets turned off, etc) then obviously stops counting but when it's turned on again starts counting again and adds it's updates to the last day session. I do this way and not the first for two reasons:

1 - When the application forces it's close, then it doesn't update the log-out date in the database. (through Runtime.getRuntime().addShutdownHook())

2 - If user shutdown Windows, it's the same as the first point, and session still opened.

Clarifying all of this, my application requires the next implementation parameters in order to work correctly and avoid user's trap (Here is where I need your help).

1 - When user turns on the computer, the application must run with the OS start.

2 - Application cannot be executed more than once.

3 - User shouldn't be able to stop the application process, only the OS on shutdown.

4 - User shouldn't be able to get access to the system / application files.

I would like to see if you guys could give me more information about how to acomplish the mentioned before, I've never done something like this, and any guide, any link, etc, will be appreciated. The application will run on Windows XP (it's being tested on 7).

Comments