Toon posts:

[VB] Aanroepen van het windows 2000 login scherm

Pagina: 1
Acties:

Verwijderd

Topicstarter
Weet iemand of het mogelijk is om vanuit VB het Windows 2000 login scherm aan te roepen? Liefst met het meegeven van de loginnaam die gebruikt moet worden.

Of is het mogelijk om vanuit code van Windows user te switchen?

Verwijderd

1. Men kan het gebruik van de kreet RTFM hier niet echt waarderen (Maar aangezien je hier pas 2 maandjes rondhobbelt zou het kunnen zijn dat je dat hebt gemist, misschien toch een idee om de FAQ 'ns te lezen)

2. Als je al meent mede-tweakers op een dergelijke manier te moeten benaderen, geef dan op z'n minst een goede aanwijzing. NB: er werd gevraagd om het aanmelden van een gebruiker, niet het afmelden.

EvilMarty, misschien moet je hier even naar kijken, zou je in de goede richting kunnen helpen.

Verwijderd

Topicstarter
Ik heb naar beide voorbeelden gekeken, waarbij ik inderdaad vroeg naar het inloggen van een user (en niet naar het uitloggen ervan, dus moet ik nu tegen Soultaker ook RTFT zeggen, waarbij de laatste T voor Topic staat :))

Maar goed, het lukt me denk ik wel om vanuit code een user in te loggen, maar ik wil dat eigenlijk gewoon aan Windows overlaten. het enige dat ik wil doen is het loginscherm aanroepen, waarna het daadwerkelijke inloggen door Windows wordt afgehandeld. Dus volgens mij is dit veel makkelijker, alleen kan ik nergens vinden hoe ik dat scherm aanroep.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 15-09 19:11

Crazy D

I think we should take a look.

Ik kan de gegeven linkjes niet zien (MS site is nogal traag hier), maar kijk eens naar de ExitWindowsEx API.
EWX_LOGOFF Shuts down all processes running in the security context of the process that called the ExitWindowsEx function. Then it logs the user off.

Exact expert nodig?


Verwijderd

Topicstarter
Ik zal even uitleggen wat de bedoeling is van het programma dat gemaakt moet worden. Er dient een service te worden geschreven die altijd draait, maar niet in de security context van een gebruiker (de gebruiker kan deze service dus niet stoppen). Deze service krijgt signalen binnen van een hardware device. Op basis van deze signalen moet er van user gewisseld kunnen worden waarbij de nieuwe user zijn bijbehorende password moet invullen.
Na gebruik kan de user uitloggen en zal de PC wachten op een nieuw signaal van het hardware device.

Op het moment dat het hardware device een ander signaal binnenkrijgt moet er opnieuw een inlogscherm worden gepresenteerd.

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

EvilMarty:
Op het moment dat het hardware device een ander signaal binnenkrijgt moet er opnieuw een inlogscherm worden gepresenteerd.
Bedoel je nou dat in een huidige windows sessie een Logon Venster moet worden getoont?

Of bedoel je dat er eerst moet worden afgelogd en dat er da neen logon venster moet worden getoont?

Maar je kan services geloof ik beter schrijven in C++

Verwijderd

Zover ik weet kun je in Win2000 wel een process als een andere user draaien maar niet inloggen terwijl er een andere user ingelogd is.

In WinXP Pro is dit wel mogelijk.

Wil je dus eerst uitloggen en dan het inlog scherm (zeg maar start->Log Off Whatever). Loginscherm in Win2000 is niet mogelijk als er al een user ingelogd is.

Wel kun je dus applicaties (processen) onder een ander useraccount laten draaien.

Verwijderd

Topicstarter
OK, het lukt me schijnbaar niet om het verhaal heel duidelijk uit te leggen, dus nog maar een poging.

Bij het standaard opstarten van windows 2000 krijg je een scherm met 'press <CTRL>+<ALT>+<DEL>' to logon, dan wordt het inlogscherm getoond waar volgens mij de username van de user die het laatst is ingelogd wordt getoond.

Wat ik nu nodig heb is een service die op de achtergrond draait en die bij het ontvangen van een signaal het scherm met 'press <CTRL>+<ALT>+<DEL>' vervangt door het inlogscherm. Op dit scherm moet nu niet de loginnaam van de user worden getoond die het laatst van die machine heeft gebruik gemaakt, maar de loginnaam zoals die wordt bepaald door 'mijn' service.

Indien er een gebruiker is ingelogd en de service ontvangt een signaal van een user anders dan de nu ingelogde user, dan dient de huidige user te worden uitgelogd, en dient het 'press <CTRL>+<ALT>+<DEL>' scherm weer te worden vervangen door het inlogscherm met een loginnaam die wordt meegegeven door de service.

Ik hoop dat dit het verhaal weer iets duidelijker heeft gemaakt? Het uitloggen van een gebruiker lukt me trouwens, alleen kom ik dan weer bij het scherm met 'press <CTRL>+<ALT>+<DEL>' to login.

Indien jullie geen oplossing weten voor Windows 2000, maar wel voor Windows XP, dan ben ik daar toch wel in geinteresseerd.

Verwijderd

Je programma moet dan wel als een service lopen; Als je van user switched dan worden alle draaiende programma's afgesloten. Ook je VB programma, mits je deze als service draait....
Pagina: 1