• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 203
  • Last Modified:

Secure Timer Control

I have written a logon program that looks up the time left in your account (via TCP/IP) and then lets you use the PC for X number of minutes.

When your time is up the logon screen comes up again and blocks you from using the PC. The logon screen is quite secure (no ctrl- alt-del etc), but once you'ce logged in, it's possible to end the timer task.

Because the timer program sends message once a minute, the server knows very quickly, but I'd like to make it more difficult to shutdown the program. I've considered using a device driver - This is how I think it should work:

the device driver is loaded on startup.
when you press a certain key combination, the driver is invoked and brings up the logon box. you log in and when you run out of time, the driver brings up the logon box again.

Questions:
Does this sound like it can be implemented in this way?

Can you have a hotkey to bring up the logon box? How would this be done?

Would the logon box be part of the driver or a dll?

Would this driver be able to communicate via tcp/ip?

Thanks
Richard
PS. This is probably worth more points, but I'm a bit low right now!
0
richweed
Asked:
richweed
  • 3
  • 2
1 Solution
 
sperlingCommented:
First of all... Is this Windows 3.1, 95 or NT

If we're talking win 95 and/or NT, I think I can give you some ideas on how to implement this, avoiding the driver which you can't write in Delphi anyway.

Regards,

Erik.
0
 
richweedAuthor Commented:
Win95
0
 
barddzenCommented:
If you are wishing to use this in a Cafe or Network environment, there is a program available called Cyber-Time that may do the trick.It's URL is:  http://www.cybertimesoftware.comOtherwise, I've written several applications that do not allow the user to close the application.  All you have to do it place some code into the:QUERYUNLOAD() event of the main form.  Then you could set a conditional shutdown as you wish.  You'll notice there is a "Cancel" parameter that is boolean, to allow or disallow the application to close.If you wish, I can also post some code to hide your application from the task list.  Let me know either way.
0
Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

 
richweedAuthor Commented:
The program is an access control system similar to Cybertime, but not exactly the same. Cybertime looks good though!

Call me crazy, but do you mean the closequery event of the main form? That has the canclose parameter. This doesn't stop you doing an end task though?

The code to hide the program from the task list would be helpful, thanks.

Any idea where I can find out more about the Guardian Security system mentioned at cybertime?
0
 
richweedAuthor Commented:
barddzen

I need to repost this question as I need an answer soon.

Please feel free to answer again.

Thanks

Richard
0
 
sperlingCommented:
Create a small program, something like this:

program Project1;

uses
  whatever...

function RegisterServiceProcess (dwProcessID, dwType : DWORD) : DWORD; stdcall; external 'kernel32' name 'RegisterServiceProcess';

begin
  RegisterServiceProcess(0, 1);
  repeat
    if LoginAppIsRunning or UserHasMoreTimeLeft then begin
      Sleep (60 * 1000);  // Wait one minute, consumes no CPU
    end else begin
      StartLoginApp
    end;
  until false;
end.


RegisterServiceProcess is only available in Win 95.

This app will be completely invisible if you do not reference unit Forms.pas

the login app should simply take over the screen and disable C-A-D and alike, and terminate as soon as the user has logged in.

If you need some kind of user identity to look up minutes left, have the login app store it in registry.

Regards,

Erik.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now