Solved

Secure Timer Control

Posted on 1997-05-30
6
189 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
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 

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

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Suggested Solutions

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

757 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

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now