Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fenster vor dem Login anzeigen (https://www.delphipraxis.net/12935-fenster-vor-dem-login-anzeigen.html)

juhuu32 6. Dez 2003 22:03


Fenster vor dem Login anzeigen
 
Gibt's eine Möglichkeit unter NT bzw. XP ein Fenster mit Delphi zu generieren?
Am besten sollte das Fenster von einem Dientst gestartet werden.

Viel Spass noch

juhuu32

Uncle Cracker 6. Dez 2003 22:25

Re: Fenster vor dem Login anzeigen
 
Was für ein Fenster soll denn generiert werden.

PS: Fenster = Window :mrgreen:

Stanlay Hanks 6. Dez 2003 22:39

Re: Fenster vor dem Login anzeigen
 
Hi. Ich denke er will ein Fenster = Programmfenster anzeigen und damit arbeiten, bevor er sich eingeloggt hat. Ich denke mal, das geht nicht so leicht (aber wahrscheinlich gehts..:mrgreen:), weil ja dein Programm erstmal gestartet werden muss. Aber wie die Möglichkeiten da mit Diensten sind weiß ich nicht. Ich weiß nicht, aber als ich das gelesen hab, is mir spontan der Begriff "CreateDesktop" eingefallen, weil ich glaube, das in einem ähnlichen Zusammenhang mal gelesen zu haben...vielleicht hilft das ja weiter (wenns was damit zu tun hat, bin mir aber, wie gesagt, nicht sicher).

Man liest sich, Stanlay :hi:

juhuu32 7. Dez 2003 18:33

Re: Fenster vor dem Login anzeigen
 
Genau sowas.
Ich möchte ein Hinweisfenster vor dem Login anzeigen.
Funktionieren muß es ja. Ein Dienstproblem beim Starten wird
auch angezeigt.

Gruß
juhuu32

Jörn 7. Dez 2003 20:11

Re: Fenster vor dem Login anzeigen
 
Einen Dienst kannst du mit ner Vorlage schreiben, gibs aber nicht in Personal-Editionen.
Heisst im englischen Delphi 'Service-Application', im deutschen dann wohl Dienstanwendung oder so. Kann man aber nicht so leicht starten meiner Erfahrung nach. Nur in der Eigabeaufforderung (cmd). Zum installieren einfach mit dem Parameter -install.

Luckie 7. Dez 2003 20:22

Re: Fenster vor dem Login anzeigen
 
Der Dienst wird zwar vor dem Beginn der Session des Users gestartet, aber das wird den Login nicht so lange blockieren, falls du das willst. Der kerio Firewall zeigt eine Splash vor dem Login an. Soll das so was werden?

juhuu32 8. Dez 2003 06:28

Re: Fenster vor dem Login anzeigen
 
Es sollte schon ein Fenster sein bei dem der Benutzer OK
drücken kann. So ungefähr wie wenn ein Dienst nicht
gestartet werden konnte.
Das Login muß dadurch nicht blockiert werden.

Vielen Dank

juhuu32

Luckie 8. Dez 2003 09:47

Re: Fenster vor dem Login anzeigen
 
Dann schreib einen Dienst der eine Messagebox anzeigt. Das dürfte am einfachsten sein.

juhuu32 8. Dez 2003 19:38

Re: Fenster vor dem Login anzeigen
 
Genau das funktioniert bei mir leider nicht.
Die Box ist erst sichtbar wenn ich mich anmelde...

Gruß

juhuu32

Luckie 8. Dez 2003 19:40

Re: Fenster vor dem Login anzeigen
 
Der Dienst läuft aber schon unter dem System-Konto oder?

juhuu32 8. Dez 2003 19:48

Re: Fenster vor dem Login anzeigen
 
Na klar...
Interactive steht auch auf TRUE...
Wenn ich über Showmessage alle 5 Sekunden eine Box erzeugen lasse
werden diese auch erstellt. Aber sichtbar werden sie erst wenn ich mich anmelde...

besten Dank

juhuu32

fkerber 8. Dez 2003 19:52

Re: Fenster vor dem Login anzeigen
 
Hi!

Es gibt auch (zumindest mal unter Win2000, unter anderen weiß ich es nicht) die Möglichkeit, das mit Boardmitteln zu machen.
Wenn das genügt, guck ich mal nach, wo das genau war. Hab grad kein 2000 greifbar.
Dabei wird ein Fenster dargestellt, dessen Titel du angeben kannst und man einen Text angeben kann. Dieser wird in einem Bereich angezeigt, der wie ein Panel mit bvlowered aussieht!

Vielleicht reicht das ja!

Ciao fkerber

juhuu32 8. Dez 2003 19:57

Re: Fenster vor dem Login anzeigen
 
Eigentlich würde ich am liebsten so eine Art Banner erstellen
welches ziehmlich flexibel in der Handhabung sein sollte...

Trotzdem vielen Dank...


juhuu32

Luckie 8. Dez 2003 20:18

Re: Fenster vor dem Login anzeigen
 
Packen wir das ganze doch mal von einer anderen Seite an.

Was hast du denn vor bzw. was bezweckst du damit?

juhuu32 9. Dez 2003 06:17

Re: Fenster vor dem Login anzeigen
 
Wie gesagt so eine Art Banner (oder Laufschrift oder etwas ähnliches) welche am oberen Rand sichtbar ist.
Diese sollte sowohl vor dem Login wie auch nach dem Login sichtbar sein.
Und natürlich flexibel in der Textwahl sollte es auch sein...

Daher dachte ich mir ich mach' das über einen Dienst der beim Systemstart gleich mitgestartet wird.
Damit könnte ich dann auf das vorhandensein einer Datei prüfen.
Immer wenn die Datei vorhanden ist sollte der Inhalt der Datei dann in dem Banner angezeigt werden.
Das würde so auch funktionieren (bin ich der Meinung) nur dass ich vor dem Login gar nichts auf den Bildschirm bekomme...

Vielen Dank für die Hilfe

juhuu32

Nighthawk1310 22. Feb 2004 06:55

Re: Fenster vor dem Login anzeigen
 
hi, bin gerade dabei einen desktopmanager zu schreiben und
es kann sein dass du damit erfolg hast.
du musst den desktop "WinLogon" öffnen und deinen Thread diesem desktop
zuordnen. das funktioniert allerdings nur, wenn noch kein fenster erstellt wurde.
darum ist es am besten einen neuen thread zu erstellen und in dessen execute-event
folgende auzurufen.

die ausführlichen beschreibungen für die WindowStation- und Desktop-Funktionen
findest in microsoft MSDN Library
---------------------------------------------------

Delphi-Quellcode:
procedure TMyThread.Execute;
var
hWndDesktop: THandle;
uof :TUSEROBJECTFLAGS;
lpszDesktop: LPTSTR;
msg: TMSG;
begin
    lpszDesktop := 'WinLogon';
    //desktop öffnen
    hWndDesktop := OpenDesktop(lpszDesktop, 0, False, MAXIMUM_ALLOWED);

     uof.fInherit := False;
     uof.fReserved := False;
     uof.dwFlags := DF_ALLOWOTHERACCOUNTHOOK;
     SetUserObjectInformation(hWndDesktop, UOI_FLAGS, @uof, sizeof(uof));

     //aktuellen thread dem desktop zuordnen
     SetThreadDesktop (hWndDesktop);
     
     // hier ein fenster über api-aufrufe erstellen
     CreateWindowEx(...

     //en thread solange ausführen, bis nichts mehr passiert
     while GetMessage(msg, 0, 0, 0) do
        begin
        translatemessage(msg);
        dispatchmessage(msg);
        end;

  //dem threa den orginal desktop zuordnen...
  SetThreadDesktop (hDesktopOrg);

  //...und den desktop schliessen
  CloseDesktop (hWndDesktop);

end;
----------------------
tutorials zum erstellen von fenstern über api-aufrufe gibt es von asserbad
homepage von asserbad

----------------------

also viel erfolg

Luckie 22. Feb 2004 08:33

Re: Fenster vor dem Login anzeigen
 
Zitat:

Zitat von Nighthawk1310
tutorials zum erstellen von fenstern über api-aufrufe gibt es von asserbad
homepage von asserbad

Oder bei mir: http://nonvcl.luckie-online.de ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz