Entwickler-Ecke
Windows API - Abmeldedialog für Loginfenster
GBrainI - Do 15.10.09 11:46
Titel: Abmeldedialog für Loginfenster
Hallo,
Ich habe folgendes Probleme und hoffe, dass Ihr mir dabei behilflich sein könnt.
Habe schon gegoogelt bis ich krämpfe in den Fingern hatte, jedoch nix sinniges gefunden.
Ich entwickele grade mit Delphi5 ein Programm welches eine Art Anmeldefenster für ein externes Programm sein soll.
Wenn ich dieses Programm starte, dann möchste ich dass ich keine anderen Fenster oda Symbole etc. fokusieren kann ausser das anmeldefenster.
Quasi wie der WindowsAbmeldedialog ( Beim Herunterfahrn des Pc ---> erscheint dass fenster mit den optionen "Herunterfahren,Neustarten, etc)
dort ist es auch nicht möglich irgendein anderes Fenster zu bedienen ausser den Dialog solange das Programm geöffnet ist.
Könnt ihr mir bitte weiterhelfen ?
Danke im Voraus
delphijanka - Do 15.10.09 11:59
bei OnShow der Hauptform mit ShowModal das Anmelde-Fenster öffnen.
Gausi - Do 15.10.09 12:01
Möchtest du keine anderen Fenster deine Programms bedienen können, oder GAR KEINE anderen Fenster mehr?
Das erste geht mit Showmodal, das zweite ist ohne tiefe und nicht zu empfehlende Eingriffe ins System nicht möglich.
GBrainI - Do 15.10.09 13:20
Möchtest du keine anderen Fenster deine Programms bedienen können, oder GAR KEINE anderen Fenster mehr?
Das erste geht mit Showmodal, das zweite ist ohne tiefe und nicht zu empfehlende Eingriffe ins System nicht möglich.
Die Option mit Showmodal ist mir bekannt jedoch ist dies nicht das, was ich meine. Ich glaube ich bräuchte
das "tiefe und nicht zu empfehlende" könntest du mich ein wenig aufklären Gausi ?
nochmal zum Verständnis: Ich möchte wenn ich mene .exe starte, das ich GAR NIX ausser dieser exe zu der Zeit bedienen kann nicht mal die Taskbar oda Desktop einfach GAR NIX ausser mein programm. Wie beim versuch den Pc herunterzufahren ...
Gausi - Do 15.10.09 14:48
Ne, da habe ich keine Ahnung von. Wenn
Luckie das Thema sieht, kann er evtl. was genaueres dazu sagen.
Aber bei solchen Sachen frage ich mich immer: Wozu? Was wäre, wenn so etwas mehrere Programme gleichzeitig versuchen? Warum darf ich meinen PC nicht so bedienen, wie ich es gewohnt bin?
elundril - Do 15.10.09 14:49
btw, ich denke der Taskmanager schiebt sich vor jedes Programm.
lg elundril
Gausi - Do 15.10.09 15:01
@elundril: Deswegen sprach ich von tiefen Eingriffen ins System. Ich sehe da nur die Möglichkeit, die Windows-Anmeldung selbst zu modifizieren, also [?] die gina.dll umzuschreiben [/?]. Aber damit kann man sich wohl auch ganz leicht das System abschießen, wenn man nicht genau weiß, was man tut.
Delete - Do 15.10.09 15:09
Erstelle einen neuen Desktop und zeige dein Fenster dort an. Aber wo ist der Sinn? Warum soll der Computer unbedienbar sein während des Logins für dein Programm? Warum darf ich während des Logins nichts anderes machen?
GBrainI - Do 15.10.09 15:18
Der Sinn ist folgender:
Ich habe eine z.B. (Fifa08.exe) möchte aber das niemand ausser mir darauf zugreifen kann.
Deshalb wenn man auf Fifa08 klickt um es auszuführen fährt sich mein Programm --> Login.exe hoch aber fifa08 läuft sozusagen im hintergrund, nur unsichtbar für den benutzer.
Falls das Passwort etc falsch sind dann wird alles beendet.
Wenn man nun Login.exe einfahc wegdrücken kann dann heisst es, dass mein login.exe überhaupt keinen zweck hat weil mans einfahc umgehn kann indem man es wegmacht.
gibts da nicht irgendne anweisung per Shellapi oder so ähnlich ?
habt ihr vestanden worum es mir geht ?
Narses - Do 15.10.09 15:23
Moin!
Was spricht gegen NTFS-Rechte? Dazu sind sie doch da. :nixweiss:
cu
Narses
GBrainI - Do 15.10.09 15:33
NTFS-RECHTE ist leider nicht in meinem sinne.
NTFS-Rechte sind
1.zu einfach und
2.ich würde es gerne programmieren können =)
---
Moderiert von
Narses: Beiträge zusammengefasst---
Falls es eine möglichkeit gibt mit delphi NTFS-Rechte anzusteuern ... bitte ich um hilfe ...
FinnO - Do 15.10.09 16:17
hmm dreckiges Workaround:
Du könntest deine Fifa08.exe umbenennen und irgendwie tarnen und dann Über dein Programm nach LogIn Shellexecuten.
Okay, Scherz beiseite,
Ich verstehe den Sinn deiner Anwendung noch nicht ganz. Wieso nicht einfach auf native Möglichkeiten zurückgreifen?
GBrainI - Do 15.10.09 16:27
Also ganz ehrlich daran hat ich auch shco ngedacht, aber dann denke ich mir immer
Wenn man doch sowas wie --> Abmeldedialog für Windows <-- programmieren konnte
dann kann man das doch auch heute, mit besseren Methoden wahrscheinlich, noch.
irgendwie muss es ja programmiert worden sein un nun verstehe ich nicht wieso es nicht gehn sollte ... schließlich gibts ja sowas schon ^^
man muss nur den Source kennen ... mal ganz primitiv:
KENNT EINER DIESEN SOURCE ODA EINE AHNUNG WIE MAN SO EINEN ÄHNLICHEN SOURCE ERSTELLEN KANN?
@Finn --> wer sich mit dem zufrieden gibt was er hat, wird niemals weiterkommen ^^
baka0815 - Do 15.10.09 16:34
FinnOs Ansatz ist doch gar nicht so schlecht.
Du könntest die .exe-Datei des Original-Programms einfach mit einem Algorithmus verschlüsseln (AES, DES, etc.) und die original Datei löschen. Dann muss man deine Login-Datei ausführen, die die .exe-Datei dann im Hauptspeicher entschlüsselt und startet.
Nachtrag: Du solltest natürlich den Hash der Originaldatei sichern, damit du nicht bei einem falschen Passwort Murks wieder herstellst und dann versuchst den auszuführen. :)
GBrainI - Do 15.10.09 16:44
Leute ich sag doch nich das es schlechte Ansätzen sind, dieselben hatte ich auch schon, aber wieso so drumherum programmieren und einstellen?
es muss doch eine möglichkeit geben es auf direktem wege zu lösen ...
sonst soll mir mal jemand sagen wie das Dialogfenster beim abmelden von windows erstellt wurde ... da haben sie auch nicht Windows verschlüsselt etc. ;-)
ist net böse gemeint aber ich würde es gerne auf direktem Wege lösen.
Xentar - Do 15.10.09 17:00
Das Abmeldefenster von Windows ist halt direkt ins System integriert..
Und wie sollen wir bitte den Quellcode kennen, mit dem Windows das macht? Zur Erinnerung: Linux ist Open Source, nicht Windows ;)
Ähnliche Themen gabs hier schonmal, Stichwort "Kindersicherung".
Aber um einfach nur ein dämliches Spiel vor dem Zugriff zu schützen, ist das doch echt mit Kanonen auf Spatzen. Da reichen die Dinge, die Windows mitbringt, doch bei weitem aus
- Mehrere Benutzerkonten
- Zugriffsrechte der Programme entsprechend einstellen
und wenn du mal vom Rechner weg gehst, und Angst hast, dass dein kleienr Bruder in der Zeit ne Runde zockt, drückt man halt Windows + L und der Rechner ist gesperrt.
Man, so wie auf diese Möglichkeit bestehst, könnte man fast meinen, dass du damit in Wahrheit "anderes" vor hast..
GBrainI - Do 15.10.09 17:08
ALso zuallererst, ich dachte das ist ein Forum wo man Tips bekommen soll.
Und nicht dass die Fragen niveaulos kommentiert werden nur um auch mal ebne einen eintrag gemacht zu haben.
Wenn du es nunmal nciht weisst dann misch dich doch nicht ein.
Zudem habe ich keinen kleinen Bruder --> hörauf sinnlos rumzuspeckulieren.
Ausserdem gibt es sicherlich eine möglichkeit dies zu Programmieren ohne den WindowsOriginalSource zu kennen.
Auch wenns nicht 1:1 dasselbe ist. Ich bestehe nunmal darauf weil ich nicht "einfach Aufgebe" und darauf hoffe das keiner ausser mir sich mit Windows auskennt.
FinnO - Do 15.10.09 17:36
kannst dich ja mal über die
Gausi hat folgendes geschrieben: |
[?] die gina.dll [...] [/?] |
schlau machen.
Ich dachte, das ist ein Forum, in dem die User freundlich zueinander sind. Besonders, wenn sie eine Frage haben, auf die sie eine Antwort wollen.
Narses - Do 15.10.09 20:13
Moin!
@
GBrainI: Ich denke mittlerweile auch, dass du hier eine harmlose Verwendung vorschiebst, weil es eigentlich um etwas ganz anderes geht. Dein "Problem" könntest du nämlich ganz leich mit Windows-Bordmitteln lösen (Tipps dazu hast du ja schon genug bekommen). :nixweiss:
Es geht also konkret darum, Sicherheitsmaßnahmen von Windows auszuhebeln :arrow: ein authentifizierter Benutzer soll auch nicht daran vorbei kommen können :arrow: System ist gekidnapped. :shock:
Ich denke, du solltest vielleicht mal in einem andern Forum Lösungen für dein "Problem" suchen gehen, eins der 1337-H4ck0r-Boards scheint mir angemessen. Bei uns wird man dir sicher nicht helfen, ein System zu entführen. :|
cu
Narses
Delete - Do 15.10.09 20:14
Meine Antwort hat irgendwie niemand richtig gelesen oder?
Narses - Do 15.10.09 20:15
Moin!
Luckie hat folgendes geschrieben : |
Meine Antwort hat irgendwie niemand richtig gelesen oder? |
Doch. ;) Scheint ihn aber (zum Glück) zu überfordern. :P
cu
Narses
GBrainI - Fr 16.10.09 10:22
@ Narses supergenie : NEIN ich möchte nicht Windows aushebeln. Wie es scheint hast du keine ahnung, deswegen halt dich doch bitte einfach raus. Falls du zur Lösung des Problems etwas dazu beitragen kannst dann gerne, aber sonst bleib besser "Aus"geloggt .
Ich gehe jetzt mal davon aus das mir hier keiner helfen KANN ausser mit "Verschlüsselung,Neuer Desktop,etc."
NTFS ist zu simple und "wieso nennt ihr euch "Programmierer" wenn ihr euch nur auf "schon fertige" Programme oder anwendungen bezieht?
d.h. Ihr benutzt etwas das es schon gibt und entwickelt nichts selber.
Der Tip mit der gina.dll ist aber gut. kennt sich jemand damit aus ?
Katiphram - Fr 16.10.09 10:40
Moin Leute,
ich finde die Idee von GBrainI jetzt nicht so übertrieben schlimm wie manch andere hier.
Ich find sogar eig. recht lobenswert das er sich nicht nur mit fertigen Sicherheitsanwendungen zufrieden gibt. Neue Sicherheitskonzepte zu entwickeln ist doch im Prinzip eine gute Sache.
Als die Leute von Windows diese Anwendung entwickelt haben hat ja denke ich auch keiner was dagegen gehabt. Warum sollte ihm dann nicht geholfen werden wenn manche doch eine Lösung kennen.
Ich persönlich kann es nicht da mir da die Kenntnisse fehlen, aber ihm teilweise die Hilfe zu verweigern oder ihm da was vorzuwerfen finde ich nicht fair.
Gruß Katiphram
__________________________________________________________________________________________________________________________
Lasst euch nicht lumpen, hoch den Humpen!
Gausi - Fr 16.10.09 10:50
Fakt ist: Für solche Dinge ist die Rechteverwaltung des Betriebssystems da. Du möchtest gewissermaßen an deinem Auto an die Fahrertür eine Vorrichtung anschweißen, um ein Vorhängeschloss dranzubauen, damit dein Bruder damit nicht rumfährt. Die bessere Lösung ist: Gib deinem Bruder nicht den Schlüssel - d.h. richte ihm ein Nutzerkonto ein, wo er auf bestimmte Programme keinen Zugriff hat.
Es geht hier nicht darum, irgendwem Hilfe zu verweigern. Es gibt ganz einfach wesentlich geeignetere Methoden, um zum Ziel zu gelangen. Klar kann man neue Sicherheitskonzepte entwickeln. Aber das benötigt einiges an Vorwissen, das du offensichtlich nicht hat - sonst würdest du nicht so eine Frage stellen. (Ich habe das Wissen auch nicht.)
Es wurden einige Ansätze genannt - die Idee mit der Verschlüsselung ist z.B. ein recht netter Trick, der halbwegs einfach umzusetzen wäre. Die Einwände von Narses finde ich durchaus berechtigt, da man dir hier ein paar Wege genannt hat, du aber immer noch mit dem Kopf durch die Wand willst.
thepaine91 - Fr 16.10.09 11:24
Sowas kann man mit ein paar Tricks recht einfach ermöglichen. Habe ich auch schon mal gemacht....
Aber ich stimme Luckie zu sinvoll ist das sicher nicht... Und daher eine andere Lösung finden. Oder ein Hacker Forum suchen, ich glaube nicht das dir jemand dies bezüglich Helfen wird in einem (Normalen Delphi Forum). ^^
Wenn ich so eine Anwendung öffnen würde wäre die auch ganz schnell wieder weg. ^^
Delete - Fr 16.10.09 13:19
GBrainI hat folgendes geschrieben : |
Ich gehe jetzt mal davon aus das mir hier keiner helfen KANN ausser mit "Verschlüsselung,Neuer Desktop,etc." |
Ich habe dir geholfen. Das Anzeigen des Loginfensters auf einem neuen Desktop ist die Lösung. Wenn sie dir nicht zusagt, warum auch immer, dann kann ich auch nichts dafür.
Zitat: |
NTFS ist zu simple und "wieso nennt ihr euch "Programmierer" wenn ihr euch nur auf "schon fertige" Programme oder anwendungen bezieht? |
Warum werden hier jetzt pauschal Mitglieder beschimpft, nur weil du ihre Lösungen nicht akzeptierst? Programmierst du dir auch alles selber: Texteditor, Bildbearbeitungsprogramm, Compiler, Betriebssystem,....? Wenn das Betriebssystenm schon eine Lösung bietet, warum nicht nutzen? Entziehe allen Benutzern ausser dir das Recht Anwendungen in dem entsprechenden Ordner zu starten und schon kannst nur du die Anwendung nutzen. Funktioniert natürlich nur, wenn die anderen Benutzer nicht dein Benutzerkonto nutzen.
Zitat: |
Der Tip mit der gina.dll ist aber gut. kennt sich jemand damit aus ? |
Woher weißt du dass der Tipp gut ist, wenn du offensichtlich gar nicht weiß, was die besagte DLL macht und wozu sie da ist?
Wikipedia hat folgendes geschrieben: |
GINA steht für graphical identification and authentication, eine Softwarekomponente einiger Microsoft Windows Betriebssysteme, die sichere Authentifizierungs- und interaktive Anmeldedienste zur Verfügung stellt. |
Sie wird dir also nichts nützen bei deinem Problem, zumindest wüßte ich nicht wie.
thepaine91 - Fr 16.10.09 13:47
GBrainI hat folgendes geschrieben: |
Narses supergenie : NEIN ich möchte nicht Windows aushebeln. Wie es scheint hast du keine ahnung, deswegen halt dich doch bitte einfach raus. Falls du zur Lösung des Problems etwas dazu beitragen kannst dann gerne, aber sonst bleib besser "Aus"geloggt .
|
Narses hat also keine Ahnung. :-)
Und Luckie bestimmt auch nicht. ^^
Und du bist der Profi Programmierer überhaupt?
@Mods... Ich finde das ganze hier verläuft sich sowieso ins "Nirvana" und könnte einen Close vertragen. ;)
GBrainI - Mo 19.10.09 10:13
Nein ihr versteht mich falsch.
Ich finde es unverschämt, dass direkt angenommen wird dat ich damit "anderes" vorhätte ... und zudem brauche ich mir doch auch nicht kommentare wie "wenn dein kleiner bruder ..." gefallen zu lassen nur weil er ahnung hat oder ? wenn man dann einmal kritik an euch asuübt dann meckert ihr ja schließlich auch rum.
Zudem habe ich nie behauptet das die andren keine ahnung haben, bloß das anscheinend niemand wirklich weis wie man mein anliegen auf direktem wege lösen kann.
Vllt über andere wege wie z.B. das mim desktop --> ok aber das ist ja eher ein drumherum programmieren... aber naja ich finde die idee mim desktop ja auch gut ;-) finds halt nur schade das es nich direkt funzt.
elundril - Mo 19.10.09 10:56
es funktioniert theoretisch schon aber die wahrscheinlichkeit das du dir dein windows zamhaust (Ok, dann kan der betroffene auch ned am PC aber du auch ned) ist größer als das es funktioniert.
dir wurden schon lösungen geliefert oder? um es als metapher auszudrücken: Dein Problem ist eine hohe ziegelmauer und anstelle die türen zu benutzen, willst du lieber drüber kraxln, was a) gefährlich und b) sinnlos ist. ;)
zu der aussage das entwickler entwickeln solln: entwickler erfinden nicht für jedes problem das rad neu, sondern greifen auf vorhandene lösungen zurück. ;)
lg elundril
Xentar - Mo 19.10.09 13:41
GBrainI hat folgendes geschrieben : |
Ich finde es unverschämt, dass direkt angenommen wird dat ich damit "anderes" vorhätte ... und zudem brauche ich mir doch auch nicht kommentare wie "wenn dein kleiner bruder ..." gefallen zu lassen nur weil er ahnung hat oder ? wenn man dann einmal kritik an euch asuübt dann meckert ihr ja schließlich auch rum. |
Oh man, wenns echt nur darum geht, dann tu es mir Leid.
War eigentlich mehr als Scherz gedacht, da kleine Geschwister gerne als "Ausrede" herhalten müssen - genau so, wie der Hund immer die Hausaufgaben frisst :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!