Windows XP Home Edition, but
Is There way to do this with Delphi, Becouse I have a Server Program and I would like to send a command for the client program for do that
Main Topics
Browse All TopicsI have some computers, and the users can use the pc for access the web or play games. so I´m still try to make a program for put time for users stay in the computer and when the time is done the computer have to be lock.
How Can Be That.
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
What Happening is:
1) The Client pay for one hour.
2) I put the information on server program, is where I am seat.
3) The client go to other computer, Like COMPUTER001 or IP: XXX.XXX.XXX.XXX
3) When the time is done the server program have to send command for client program for stop and lock the computer.
I would suggest the following...
On your computer have a console application that runs all the time. This is where you control the use of the other computers.
On the client computers have a Windows Service running.
Console app sends command to client computer to unlock and allow access for specified time.
Use basic TCP commands to communicate between Console and Clients.
Show a warning 5 minutes before end of session.
Lock the computer at end of session.
There's quite a few elements here. Let me know what specific things you need help on. Here's a few things to get you started...
Use the Indy component TIdTCPServer in your CLIENT app. It can wait for connections on a specified port.
Make the connection from the Console using a TIdTCPClient component - then send and receive commands.
To show a warning message from the Client Windows Service use something like this...
MessageBox(0, PChar(Text), PChar(Caption), MB_SERVICE_NOTIFICATION or MB_SYSTEMMODAL);
Hi rafaelrgl
What you are asking for would take anyone here hours of programming...
I am doubting that anyone could afford to give you 50+ hours free...
Rather try a professional product.. like one they use at internet cafe's anywhere in the world.
Just ask around and someone will tell what they use, and where to get hold of it.
Mainiacfreakus
It certainly does sound like your basic internet cafe type application.
But if you want to write your own one, and maybe you can write something BETTER then go for it.
If you do, then you could start selling it to the internet cafes.
(In which case I'd be happy to recieve a small commission ;-) )
To Lock the Workstation (from the CLIENT Windows Service) use...
LockWorkStation;
... this will lock it just like if the user pressed CTRL+ALT+DEL.
You could probably also have your system automatically change the password.
I went to sourceforge and searched for intenet cafe
http://sourceforge.net/sea
theres the link. There appears to be a LOT of opensource software to do just what you are wanting. Give it a look see.
when you have done your communication between client and server i might help you how to disabling the access to the computere. where lockworkstation is no guarantee to work (not to mention that the user might know a password for the account) there are better possibilities to totally disable the access to the computer (im talking about disabling taskmanager-access, input interception, no taskbar access... this method has the advantage that you can let the user continue watching the screen or portions of it)
LockWorkstation usually only displays the "Computer Locked" dialog with the desktop backgorund behing it. The user shouldn't see anything else. Please clarify - Do you want the user to see what is on the screen or not?
Another easy alternative would be to create your own form that takes up the entire screen area and is a system-wide stay-on-top window.
Or if you want to get more complicated you can do stuff like locking out task switching, the taskbar etc.
Did you try LockWorstation?
It doesn't take up the entire screen. What is left is just the windows desktop background (which you could just make black, or a tiled version of your company logo, or whatever).
I think it'll work quite well, and it's ONE LINE OF CODE.
I'm not sure if there's a remote way to Unlock the workstation. I was thinking that when the Console application sends it's message to the client service it could also include the next password. The client service would then set the password prior to locking the screen, and then you just give that password to the next person who wants to use the computer.
Just the same as if it were a new user. LockWorkstation does not close anything - it just brings up the "Workstation Locked" dialog, and requires a password before continuing.
On that topic though, you do probably need to have a way of closing everything when it IS a NEW user.
As someone else noted earlier, we cannot design an entire project for you.
I'm happy to give general advise about how to put something together, OR to give low level technical advice on one or two matters, but I do not have the time to take you through every little step of writing a complex system such as this.
I think you need to go and design the system you want (or go and buy one). If you are then not sure about how to lock out users, or whatever then come back and ask about that (as a NEW question).
That's a really good idea. Then you can just use the service on the client to disable the computer. Combined with a "Your time has expired" form it may be a really good option.
Here's a simple example of how to block keyboard/mouse. Create a form, add a button and timer. Set the timer.enabled = False and the interval to 10000 (10 seconds)...
function BlockInput(fBlockInput: Boolean): DWORD; stdcall; external 'user32.DLL';
{$R *.dfm}
procedure TForm1.Button1Click(Sender
begin
BlockInput(True);
Timer1.Enabled := True;
end;
procedure TForm1.Timer1Timer(Sender:
begin
Timer1.Enabled := False;
BlockInput(False);
end;
When you click the button input will be disabled for 10 seconds. However pressing Ctrl+Alt+Delete will free it up so you need to do something to block those as well. I'm pretty sure you can find how to do that in an already answered question.
Business Accounts
Answer for Membership
by: kfoster11Posted on 2006-02-28 at 16:34:56ID: 16071253
What OS are you running. You can set this up through Active Desktop with User Rights