๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #11595

Hoe systeem locken na inactiviteit (ms visual c++)??????

#11595
From: covan
Date: Thu, 24 Jan 2002 09:09
44 lines
2843 bytes
Hallo,

Ik ben een dialog based (pc) application aan het schrijven met behulp van ms
visual c++.
Nu had ik graag gehad dat, na een bepaalde tijd van inactiviteit (geen user
input), het systeem wordt gelocked (liefst net zoals je windows kunt
locken).

Ik heb dus 2 problemen:

1) Ik moet bij inactiviteit kunnen bijhouden of tellen hoe lang dit aanhoudt
en na een bepaalde tijd een soort event lanceren om dan deel 2 van mijn
probleem uit te voeren.

Eerst dacht ik om CWinApp::OnIdle() te kunnen overloaden maar die piste
bleek niet werkbaar doordat een dialog based applicatie hier blijkbaar geen
gebruik van maakt tijdens DoModal() van mijn main window.

Een andere complexere oplossing zou zijn om een klasse bv. CMyDialog van
CDialog af te leiden en al mijn gebruikte dialogs op hun beurt van deze
CMyDialog af te leiden. In CMyDialog::PreTranslateMessage() zou dan een
globale event ResetTimer gezet worden iedere keer een bepaalde soort van
message (OnLeftButtonDown, OnMuseMove, ...) deze functie activeert. Door het
gebruik van een apparte thread die reageert op de ResetTimer event zou ik
dan uiteindelijk kunnen opmaken wanneer ik het systeem moet locken.

Is dit een goede oplossing of bestaan er veel simpelere en/of betere
oplossingen?

2) Ik moet het systeem of toch minstens de applicatie kunnen "locken" of
iets wat daar moet voor doorgaan.

Een simpele oplossing zou zijn om een gewoon een modale dialoog te tonen met
passwoordingave bovenop de huidige actieve window. Dit kan geen al te grote
moeilijkheden opleveren.
Toch had ik liever gehad dat het meer was zoals in windows: het huidig
scherm verdwijnt en een blauwe achtergrond (misschien met logo) verschijnt
met een "This workstation has been locked..." dialoog waarna het totale
systeem afgeschermd is.
Hoe kan dit best gedaan worden? Kan dit door een window te cre๏ฟฝren die het
volledige scherm omvat net zoals een screensaver?

mvg,
Colin Bouckaert
Technical Details
Message-ID: <3c4fce18$0$75162$ba620e4c@news.skynet.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!proxad.net!proxad.net!skynet.be!skynet.be!louie!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,9cdd52e07e4104bb,start
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-01-24 01:04:26 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!proxad.net!proxad.net!skynet.be!skynet.be!louie!not-for-mail
From: "covan" <colinb@covan.be>
Newsgroups: be.comp.programming
Subject: Hoe systeem locken na inactiviteit (ms visual c++)??????
Date: Thu, 24 Jan 2002 10:09:36 +0100
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Lines: 49
Message-ID: <3c4fce18$0$75162$ba620e4c@news.skynet.be>
Organization: -= Skynet Usenet Service =-
NNTP-Posting-Host: 194.78.1.194
X-Trace: 1011863064 reader0.news.skynet.be 75162 194.78.1.194
X-Complaints-To: abuse@skynet.be