Solved

Secure Timer Control

Posted on 1997-05-30
6
191 Views
Last Modified: 2010-04-06
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
Comment
Question by:richweed
  • 3
  • 2
6 Comments
 
LVL 3

Expert Comment

by:sperling
ID: 1336664
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
 

Author Comment

by:richweed
ID: 1336665
Win95
0
 

Expert Comment

by:barddzen
ID: 1336666
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
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 

Author Comment

by:richweed
ID: 1336667
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
 

Author Comment

by:richweed
ID: 1336668
barddzen

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

Please feel free to answer again.

Thanks

Richard
0
 
LVL 3

Accepted Solution

by:
sperling earned 70 total points
ID: 1336669
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

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question