![]() |
Eigene Anwendung als exclusive shell ausführen
Hallo ihr,
:dp: Wie man ja hoffentlich aus meinem Titel lesen kann: Weiß jemand zufällig ob und wenn wie man unter Windows XP seine eigene Delphi Anwendung so einrichtet, dass sie auf einem eigenen Konto läuft und im hintergrund nichts anderes - auch kein explorer?? also in diesem Konto nur die eigene Anwendung gestartet wird? Ich habe das bei dem ![]() das 'als exclusive Shell anwendung ausführen' oder so ähnlich :coder: Wenn jemand eine Idee hat bin ich sehr dankbar - ich würde ein ähnliches System gerne bei manch eigenem Programm -für demonstrations zwecke- einsetzen. LG Stefan :coder2: |
Re: Eigene Anwendung als exclusive shell ausführen
Hallo :hi:
unter WinNT+ musst du IMHO fogenden RegistryKey setzen: HKCU\Software\Microsoft\CurrentVersion\Windows NT\WinLogon\Shell unter Win9x geht das irgendwie über ne ini-Datei. Da solltest du aber relativ leicht was dazu finden; bist nicht der einzige, der ne Shell bauen will... :wink: mfg Christian |
Re: Eigene Anwendung als exclusive shell ausführen
Hallo Christian,
danke für deine schnelle Antwort! ich hab nur Win98 und WinXP-Sp2 zu verfügung :? kannst du mir /könnt ihr mir Tips geben unter was ich suchen muss?? weil ich hab überhaupt keinen plan wo ich da anfangen soll! :wink: Das wäre net! Danke! LG Stefan |
Re: Eigene Anwendung als exclusive shell ausführen
aus erster hand weiß ich, dass es bei dem von dir aufgeführten Programm wie folgt gemacht wird:
Delphi-Quellcode:
WindowsXP kümmert sich dann selbst darum und mappt es in die Registry.
IniFile.WriteString('boot', 'shell', 'YourExeFile');
Wobei IniFile ein TIniFile ist welches die Datei "System.ini" aus dem Windowsordner öffnet.
Delphi-Quellcode:
var LBuffer, LStr: String;
begin SetLength(LBuffer, MAX_PATH + 1); SetLength(LBuffer, GetWindowsDirectory(@LBuffer[1], Length(LBuffer))); LBuffer := IncludeTrailingPathDelimiter(LBuffer); if FileExists(LBuffer + 'System.ini') then IniFile := TIniFile.Create(LBuffer + 'System.ini'); |
Re: Eigene Anwendung als exclusive shell ausführen
Dann kann man es ja gleich in die Registry schreiben. Den richtigen Schlüssel habe ich jett nicht zur Hand, sollte sich aber relativ schnell finden lassen.
|
Re: Eigene Anwendung als exclusive shell ausführen
Zitat:
|
Re: Eigene Anwendung als exclusive shell ausführen
Danke für eure Antworten!
@SirThornberry ich hab mal grad deine Methode einfach bei mir ausbobiert - hm - er durfte in meinem Testkonto natürlich nicht auf die system ini schreiben! das hat dann sogar noch mal beim herunterfahren zu einem fehler geführt - obwohl ich das eigentlich per try-finaly immer definitiv frei gebe -- hab es jetzt unter XP Prof SP2 probiert - @alle anderen : wenn ihr mir noch ein paar wörter oder so gebt nach dennen ich am besten suchen soll dann währe ich euch sehr dankbar! :hi: Dann euch allen einen schönen restlichen Abend! :dp: DANKE FÜR EURE HILFE!! :dp: LG Stefan |
Re: Eigene Anwendung als exclusive shell ausführen
Moin Stefan,
Zitat:
|
Re: Eigene Anwendung als exclusive shell ausführen
@Daniel G: Genau so ist es. Da XP sich selbst darum kümmert es in die Registry zu mappen spaart man sich die OS überprüfung. Ich selbst würde die Methode des schreibens in die Registry bevorzugen. Die von mir aufgezeigte Methode ist halt die, welche das erwähnte Programm im Urpsrungssthread verwendet.
|
Re: Eigene Anwendung als exclusive shell ausführen
Moin Moin,
@Christian Seehase -- stimmt! hatte ich vergessen :zwinker: @SirThornberry ich werde es noch mal unter admin rechten ausprobieren! *G* allerdings wie bekommt man das dann wieder rückgängig?? auch über die System.ini ?? :coder2: oder muss ich mich dann sowiso mit Registry-änderungen befassen?? ( weil in dem Programm ist des ja auch eine Checkbox zum häkchen machen) Besten Dank an euch alle! :dp: Die DP ist einfach Spitze!! :dp: LG Stefan |
Re: Eigene Anwendung als exclusive shell ausführen
rückgängig bekommst du es in dem du einfach die alte shell wieder einträgst. BPM-Studio merkt sich zum Beispiel die alte Shell überhaupt nicht und trägt einfach "explorer.exe" als Shell ein wenn du den exlusiven Shellmodus wieder deaktivierst.
Das zurück setzen der Shell funktioniert also genau so wie das setzen auch über die Ini-File |
Re: Eigene Anwendung als exclusive shell ausführen
!! HILFE !!
ICH HAB EIN PROBLEM!! JETZT MACHT ER DAS MIT MEINEM PROGRAMM AUF ALLEN KONTEN!!!!! ja der explorer ist weg! *G* nur ich hatte die rücwärts methode natürlich so zum testen noch nicht in meine app. übernommen *g* wie kann ich das am einfachsten wieder umstellen?? geht des auch über einen text editor?? weil über den taskmanager kann ich zum glück noch programme starten! hat jemand ne idee??? ich war davon ausgegangen das der des halt nur für des aktive konto einrichtet° :duck: ICH HOFFE AUF EURE HILFE!! LG STEFAN |
Re: Eigene Anwendung als exclusive shell ausführen
Hi!
Dann öffne die System.ini und trag wieder explorer.exe als shell ein. Ciao Frederic |
Re: Eigene Anwendung als exclusive shell ausführen
hepl
das hilft nicht! bitte helft mir! |
Re: Eigene Anwendung als exclusive shell ausführen
Und warum hilft das nicht?
|
Re: Eigene Anwendung als exclusive shell ausführen
Schnellhilfe:
- Taskmanager - Dein Prog beenden - Neuer Task --> explorer.exe --> OK ==> jetzt sollte der explorer wieder da sein - Explorer wieder als Shell eintragen(wenns per ini komischerweise nicht geht, direkt per RegEdit) *Daumen drückt* mfg Christian |
Re: Eigene Anwendung als exclusive shell ausführen
der is blöde!
Ich meine das XP- :-( der startet immernoch mein prog. obwohl in der system ini jetzt steht das er den explorer nehmen soll - oder hab ich da was falsch rein geschrieben??
Delphi-Quellcode:
danke das is so schnell geholfen habt!
[boot]
shell=explorer.exe ich weiß net was ich noch machen soll - regedit - wo muss ich des denn umstellen?? LG Stefan |
Re: Eigene Anwendung als exclusive shell ausführen
Nun ja, es wird wahrscheinlich der Explorer Prozess dafür verantwortlich sein die Shell einzutragen. Du wirst es wohl selber in der Registry machen müssen.
Aber so was liebe ich ja, wenn Leute und zu wissen, was sie tun am offenen Herzen von Windows rumoperieren. ;) |
Re: Eigene Anwendung als exclusive shell ausführen
@Luckie: DANKE :evil:
also wenn ihr mir net helft muss ich halt die gesammte regi durchsuchen- unter win xp prof Sp2 geht es hier:
Code:
dann werd ich mich jetzt mal daran geben und herausbekommen wie man direkt die registrie modifiziert!
-HKEY_LOCAL_MACHINE
-SOFTWARE -Microsoft -Windows NT -CurrentVersion -Winlogon -Shell :explorer.exe Guten abend noch. LG Stefan |
Re: Eigene Anwendung als exclusive shell ausführen
Man kann solche Probleme redizieren, indem man nicht in HKLM, sondern in HKCU schreibt. Guck mal ins allererste Posting. Mit HKCU sollte es sogar ohne Admin-Rechte laufen...
mfg Christian |
Re: Eigene Anwendung als exclusive shell ausführen
Zitat:
|
Re: Eigene Anwendung als exclusive shell ausführen
Hi ihr alle,
@Luckie: tut mir leid! war nicht so gemeint!! -ich war garnicht auf die idee gekommen wie bzw. unter was ich suchen muss oder was ich da eigentlich machen möchte - ich wusste ja nur wie es im endefekt aussehen sollte *G* Also - zusammenfassung: - ich kann im schlüßel
Code:
festlegen das anwendung xxx gestartet wird anstatt der explorer! (getestet funktioniert auch!)
-HKEY_CURRENT_USER
-SOFTWARE -Microsoft -Windows NT -CurrentVersion -Winlogon -Shell : xxxx.exe [WinXP-Prof SP2] - jetzt muss ich nur noch herausfinden wie ich solch einen schlüssel anlegen kann -unter was muss ich suchen?? Bitte helft mir! LG Stefan |
Re: Eigene Anwendung als exclusive shell ausführen
|
Re: Eigene Anwendung als exclusive shell ausführen
mit welchen Fensteroptionen muss ich das Programm denn dann eigentlich schreiben??
Ich meine man soll da ja jetzt nicht auf X und minimieren drücken können oder geht das dann ehh net wenn man das als shell startet?? |
Re: Eigene Anwendung als exclusive shell ausführen
Hallo Eichhoernchen,
Zitat:
Schreiben kannst du es in jeder normalen form - du musst dann nur dafür sorgen das es beim starten in den Entsprechenden "Anzeigemodus" wechselt. wenn du nicht willst das der Benutzer das Programm beenden kann ohne das konto zu verlassen würde ich jetzt versuchen sobald das Programm beendet wird auch den Benutzer abzumelden! ansonsten macht es meistens sinn den Rahmen des Hauptformulares auf none zu stellen und die größe beim starten zu maximieren! such mal danach hier in der DP - da gibt es viele beiträge zu!! Werde mich jetzt mal ein bisschen mit TRegistry befassen! @Lukie: DANKE!!! sobald ich zu einem Brauchebaren ergebniss gelangt bin melde ich mich und versuche es dann verständlich zu erläutern! *G* mal sehn villeicht gibts ja dann auch mal mein proggramm zum ausprobieren! ;-) aba das is ja dann ein neues Thema *g* LG Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 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