Toon posts:

[VB] Ctrl Alt Del uitschakelen

Pagina: 1
Acties:

Verwijderd

Topicstarter
hoe kan ik Ctrl Alt Del uitschakelen in xp.
want ik wil een soort beveilings programma maken maar dat lukt niet al Ctrl Alt Del het nog doet.
Ik heb al op het internet gezocht maar daar doen de code's het alleen maar onder win98/ME enz. Ook heb ik al in de search gezocht en toen kwamen er 2 topics uit maar daar werd ik niet veel wijzer van dus nu hoop ik dat iemand mij verder kan helpen alvast bedankt.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Tja, onder Win 95/98 kan je het makkelijk doen mits je uw programma als een screensaver ofzo laat lopen.
Iemand van m'n werk heeft het eens gedaan op NT en XP, maar dat lukt niet zomaar. Het is geen eenvoudig werkje.
Je moet eens in de MSDN op zoek gaan naar informatie over de Gina-dll ofzo. Die DLL zorgt voor het tonen van dat schermpje als je op ctrl-alt-del drukt in Windows NT en XP. Hij heeft zijn eigen 'gina-dll' geschreven die gewoon alle functies doorstuurt naar de echte gina-dll, behalve de functie die dus die ctrl-alt-delete opvangt. Daar heeft hij dan zijn eigen functie voor geschreven.

Maar eigenlijk denk ik dat dit stiekem niet toegelaten is...

https://fgheysels.github.io/


Verwijderd

In xp wordt dit denk ik vervelend want je krijgt een statisch form als je ctr-alt-del drukt in xp, als je in win98 op ctr-alt-del drukte kreeg je een dynamisch venster met de verschillende opties.

Lees de MSDN er eens op na.....

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Op maandag 08 juli 2002 07:59 schreef infinity_master het volgende:
In xp wordt dit denk ik vervelend want je krijgt een statisch form als je ctr-alt-del drukt in xp, als je in win98 op ctr-alt-del drukte kreeg je een dynamisch venster met de verschillende opties.

Lees de MSDN er eens op na.....
Volgens mij krijg je gewoon een andere desktop voor je neus in NT en XP.

https://fgheysels.github.io/


  • The End
  • Registratie: Maart 2000
  • Nu online

The End

!Beginning

Je hebt volgens mij 2 mogelijkheden.

Ten eerste (is al gezegd), je eigen GINA schrijven. Dit is gewoon toegestaan en staat ook uitgelegd in de MSDN.

Ten tweede kan je ook een hook dll maken. Deze vangt alle berichtjes af voordat ze bij de desktop komen. Waaronder ook CTRL-ALT-DEL
Let wel op, het zijn er 2;nl de gewone desktop en de winlogon desktop. (Als er meer mensen zijn ingelogd, nog meer natuurlijk)

[edit] Ik zie nu [vb]. Ik weet niet of het daarin kan, iig wel in C++

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Op maandag 08 juli 2002 09:36 schreef The End het volgende:

Ten tweede kan je ook een hook dll maken. Deze vangt alle berichtjes af voordat ze bij de desktop komen. Waaronder ook CTRL-ALT-DEL
Let wel op, het zijn er 2;nl de gewone desktop en de winlogon desktop. (Als er meer mensen zijn ingelogd, nog meer natuurlijk)
Je kan je eigen hook schrijven, maar ik weet niet of het mogelijk is om dan ctrl-alt-del daarmee af te vangen. Ctrl-Esc, Alt-Tab enzo lukt wel.
M'n collega had dat eerst geprobeerd, maar hij kon blijkbaar die ctrl-alt-del niet afvangen met die hook.
[edit] Ik zie nu [vb]. Ik weet niet of het daarin kan, iig wel in C++
Die (GINA) DLL zul je imho idd in C++ moeten schrijven.

https://fgheysels.github.io/


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 30-08 17:59

Gerco

Professional Newbie

Op maandag 08 juli 2002 09:38 schreef whoami het volgende:
Die (GINA) DLL zul je imho idd in C++ moeten schrijven.
Het KAN wel in VB, ik heb ooit eens een proggie gevonden wat met de VB compiler rommelde zodat 'ie gewoon de .obj file(s) liet staan. Dan kon je met een bijgeleverde linker gewoon Subs en Functions exporteren en je dll linken. Dan heb je dus wel een 'echte' DLL.

Alleen vind ik dit een beetje een VIEZE! hack, mijns inziens kun je beter een C++ wrapper DLL maken die met callback functies werkt in VB. Op die manier hou je toch je functionaliteit in VB (als je dat wilt tenminste) en maak je toch een 'nette' DLL.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
Op maandag 08 juli 2002 10:23 schreef Gerco het volgende:

[..]

Het KAN wel in VB, ik heb ooit eens een proggie gevonden wat met de VB compiler rommelde zodat 'ie gewoon de .obj file(s) liet staan. Dan kon je met een bijgeleverde linker gewoon Subs en Functions exporteren en je dll linken. Dan heb je dus wel een 'echte' DLL.

Alleen vind ik dit een beetje een VIEZE! hack, mijns inziens kun je beter een C++ wrapper DLL maken die met callback functies werkt in VB. Op die manier hou je toch je functionaliteit in VB (als je dat wilt tenminste) en maak je toch een 'nette' DLL.
Het feit dat je in VB een DLL kunt bouwen wil nog niet zeggen dat je een willekeurige i/f in die DLL kunt realiseren. En zo'n GINA DLL moet aan een bepaalde i/f voldoen.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Verwijderd

Die hook zal ook niet lukken met VB, omdat system wide hooks niet mogelijk zijn.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 30-08 17:59

Gerco

Professional Newbie

Op maandag 08 juli 2002 12:47 schreef MSalters het volgende:
Het feit dat je in VB een DLL kunt bouwen wil nog niet zeggen dat je een willekeurige i/f in die DLL kunt realiseren. En zo'n GINA DLL moet aan een bepaalde i/f voldoen.
Met VB kun je ActiveX dll's bouwen, punt. Met die smerige hack van net kun je ook gewone dll's bouwen (dus gewoon functies exporteren). Die functies kunnen iedere willekeurige interface hebben, dus OOK die van GINA (tenzij die iets gebruikt wat ik nog nooit gezien heb, maar dat lijkt me niet nodig voor zoiets eenvoudigs).

Als dat niet zo is, nodig ik je uit om met een tegenvoorbeeld te komen. Het feit dat het VB is betekent niet dat het per definitie prut, incompleet en nutteloos is, in tegenstelling tot wat veel mensen die VB nog nooit goed gezien hebben beweren.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 30-08 17:59

Gerco

Professional Newbie

Op maandag 08 juli 2002 13:16 schreef dev het volgende:
Die hook zal ook niet lukken met VB, omdat system wide hooks niet mogelijk zijn.
En daar fix je dan dus zo'n wrapper dll voor. Ik heb al eerder een system wide keyboard en mouse hook in VB gemaakt, met een wrapper dll. Heel simpel en effectief.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • The End
  • Registratie: Maart 2000
  • Nu online

The End

!Beginning

Op maandag 08 juli 2002 13:25 schreef Gerco het volgende:

[..]

Met VB kun je ActiveX dll's bouwen, punt. Met die smerige hack van net kun je ook gewone dll's bouwen (dus gewoon functies exporteren). Die functies kunnen iedere willekeurige interface hebben, dus OOK die van GINA (tenzij die iets gebruikt wat ik nog nooit gezien heb, maar dat lijkt me niet nodig voor zoiets eenvoudigs).

Als dat niet zo is, nodig ik je uit om met een tegenvoorbeeld te komen. Het feit dat het VB is betekent niet dat het per definitie prut, incompleet en nutteloos is, in tegenstelling tot wat veel mensen die VB nog nooit goed gezien hebben beweren.
Uit de MSDN:
Developer Audience
The Winlogon and GINA DLL development information is intended for use by C/C++ programmers. Familiarity with Microsoft Windows security protocols and procedures is required.

edit:
Ik lees nu pas dat je het eenvoudig vind om een GINA dll te maken... Heb je het artikel in de MSDN al gelezen daarover?

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 30-08 17:59

Gerco

Professional Newbie

Op maandag 08 juli 2002 13:34 schreef The End het volgende:
The Winlogon and GINA DLL development information is intended for use by C/C++ programmers.
Dat betekent dus dat je het niet in Delphi oid zou kunnen gebruiken? De hele Win32 API is intented voor C(/C++) programmers |:(
edit:
Ik lees nu pas dat je het eenvoudig vind om een GINA dll te maken... Heb je het artikel in de MSDN al gelezen daarover?
Waar lees je dat? Ik heb helemaal die hele GINA niet bekeken en doe dus ook geen uitspraak over of het eenvoudig is om die te implementeren. Met 'eenvoudigs' doelde ik op dit:
Op zondag 07 juli 2002 23:25 schreef whoami het volgende:
Hij heeft zijn eigen 'gina-dll' geschreven die gewoon alle functies doorstuurt naar de echte gina-dll, behalve de functie die dus die ctrl-alt-delete opvangt. Daar heeft hij dan zijn eigen functie voor geschreven.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Op maandag 08 juli 2002 13:49 schreef Gerco het volgende:

Waar lees je dat? Ik heb helemaal die hele GINA niet bekeken en doe dus ook geen uitspraak over of het eenvoudig is om die te implementeren. Met 'eenvoudigs' doelde ik op dit:
Wat bedoel je daar dan mee? * whoami snapt het ff niet.

https://fgheysels.github.io/


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 30-08 17:59

Gerco

Professional Newbie

Op maandag 08 juli 2002 13:52 schreef whoami het volgende:
Wat bedoel je daar dan mee? * whoami snapt het ff niet.
Daar bedoel ik mee dat het in 99% van de gevallen niet moeilijk is om een dll te maken die (bijna) alle functies gewoon doorstuurt naar een andere dll. Er zijn natuurlijk uitzonderingen en dit kan er best 1 zijn.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Topicstarter
effe vraagie heeft iemand die gina.dll voormij geedit en wel dus dat ctrl alt del het niet meer doet.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Op maandag 08 juli 2002 23:51 schreef Omicron het volgende:
effe vraagie heeft iemand die gina.dll voormij geedit en wel dus dat ctrl alt del het niet meer doet.
Je moet je eigen gina - dll schrijven, en je moet bij het opstarten van Windows die dll dan ook gaan registreren ofzo.
Ik heb hier op m'n werk zo één staan, maar:
1. Wat jij doet is een scriptrequest, en deze zijn helaas voor jou, niet toegestaan in P&W en GoT. Zie de FAQ daarvoor.
2. Die DLL is geschreven op 't werk en is daardoor eigendom van het bedrijf waar ik werk.

https://fgheysels.github.io/


Verwijderd

Je moet bij de Active Directory zijn.
Bij Windows 2000 gaat het als volgt, en volgens mij bij XP hetzelfde:

* Ga naar Start, uitvoeren, type mmc. De Management console wordt geopend.
* Ga naar Console en klik op Module Toevoegen/Verwijderen.
* Klik op Toevoegen en dubbelklik op de module Groepsbeleid.
* Klik vervolgens op Voltooien, Sluiten en OK. De module is nu toegevoegd.
* Ga naar Lokale Computer-Beleid, Computerconfiguratie,
Windows-Instellingen, Beveiligingsinstellingen, Lokaal Beleid, Beveiligingsopties.
* Dubbelklik nu op het beleid CTRL-ALT-DEL voor aanmelden uitschakelen.
* Kies Ingeschakeld voor CTRL-ALT-DEL uit te schakelen en kies Uitgeschakeld voor CTRL-ALT-DEL in te schakelen.
* Klik op OK.
* Ga nu naar Console à opslaan als.
* Sla het bestand op onder de naam Lokale Computer-Beleid.
* Sluit nu het venster.
* Het opgeslagen bestand Lokale Computer-Beleid kan worden teruggevonden bij Start, Programmas, Systeembeheer.

Suc6

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
Op maandag 08 juli 2002 13:25 schreef Gerco het volgende:
Met VB kun je ActiveX dll's bouwen, punt. Met die smerige hack van net kun je ook gewone dll's bouwen (dus gewoon functies exporteren). Die functies kunnen iedere willekeurige interface hebben, dus OOK die van GINA (tenzij die iets gebruikt wat ik nog nooit gezien heb, maar dat lijkt me niet nodig voor zoiets eenvoudigs).

Als dat niet zo is, nodig ik je uit om met een tegenvoorbeeld te komen.
Tegenvoorbeeld:
Functie in DLL die std::string teruggeeft. Mijn huidige prog heeft zo'n DLL nodig; in VB gaat je dat nevernooitniet lukken.
Nou is GINA.DLL een MS DLL, en MS gebruikt de ++ in C++ nauwelijks, dus zo erg zal dat wel niet zijn. Aan de andere kant is een vararg argument wel redelijk MS stijl, en die is zo mogelijk nog lastiger te doen vanuit VB. Dat is dus tegenvoorbeeld 2.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 30-08 17:59

Gerco

Professional Newbie

Op dinsdag 09 juli 2002 10:11 schreef MSalters het volgende:
Tegenvoorbeeld:
Functie in DLL die std::string teruggeeft. Mijn huidige prog heeft zo'n DLL nodig; in VB gaat je dat nevernooitniet lukken.
Een std::string is niets anders dan een pointer met wat metadata eraan. Het is wel mogelijk, niemand zei dat het makkelijk was :P

Maar goed, toegegeven een std::string is nogal idioot om als externe interface te gebruiken aangezien die alleen in C++ bestaan. Het is net zo idioot om 1 of andere datastructuur in een externe interface te gebruiken waarvan niemand weet hoe die in elkaar zit. Het is wel MOGELIJK, maar niet wenselijk. En mijns inziens ben je ook een flinke randdebiel als je dit soort taal specifieke dingen gebruikt in je export functies, maar dat is mijn persoonlijke mening.
Nou is GINA.DLL een MS DLL, en MS gebruikt de ++ in C++ nauwelijks, dus zo erg zal dat wel niet zijn. Aan de andere kant is een vararg argument wel redelijk MS stijl, en die is zo mogelijk nog lastiger te doen vanuit VB. Dat is dus tegenvoorbeeld 2.
Een vararg is een variabel aantal parameters? Als dat zo is dan is het in VB wel mogelijk, maar dat zal vast niet compatible zijn met de manier waarop C(++) dat doet. Voor de wijsheid van een vararg in een export functie moet ik verwijzen naar mijn bovenstaande mening.

In het kort: Een externe interface hou je zo taal-generiek als mogelijk is (iedere taal kan een char* uitlezen, of zou dat moeten kunnen), TENZIJ je voor de volle 100% zeker weet dat die interface ALLEEN door dezelfde taal gebruikt wordt.

Een std::string is prima als je die DLL alleen voor jezelf maakt, maak je 'em voor algemeen gebruik is het gewoon stom, punt.

MS doet dit in zo'n beetje de hele Win32 API, dus ik zie nog steeds geen reden waarom je geen GINA in VB zou kunnen maken. Dat het niet handig is weet ik ook wel.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Of gewoon geen rechten geven om GINA op te starten (moet je wel NTFS hebben)

[edit]
hmm bij msgina.dll werkt dus niet. Bij taskmgr.exe en taskman.exe werkte het wel.

Verwijderd

Gerco schreef op 08 juli 2002 @ 13:25:
Het feit dat het VB is betekent niet dat het per definitie prut, incompleet en nutteloos is, in tegenstelling tot wat veel mensen die VB nog nooit goed gezien hebben beweren.
:? even je eigen post quoten:
Met die smerige hack van net kun je ook gewone dll's bouwen
QED :z

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 28-08 17:06

Sponge

Serious Game Developer

Gerco schreef op 08 juli 2002 @ 10:23:
[...]


Het KAN wel in VB, ik heb ooit eens een proggie gevonden wat met de VB compiler rommelde zodat 'ie gewoon de .obj file(s) liet staan. Dan kon je met een bijgeleverde linker gewoon Subs en Functions exporteren en je dll linken. Dan heb je dus wel een 'echte' DLL.

Alleen vind ik dit een beetje een VIEZE! hack, mijns inziens kun je beter een C++ wrapper DLL maken die met callback functies werkt in VB. Op die manier hou je toch je functionaliteit in VB (als je dat wilt tenminste) en maak je toch een 'nette' DLL.
"Control compiler" heet dat artikel (vast wel iets op google). Ik heb de ASM code van VB zelfs verbeterd met m'n eigen ASM functies (wat UCase/Lcase stuff).. stukken sneller!
Pagina: 1