Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Windows 7 Startmenü (dauerhaft) ausblenden (https://www.delphipraxis.net/158874-windows-7-startmenue-dauerhaft-ausblenden.html)

kuba 6. Mär 2011 13:07

Windows 7 Startmenü (dauerhaft) ausblenden
 
Hallo,

ich möchte das Windows 7 Startmenü dauerhaft ausblenden, zum Ausblenden verwende ich zur Zeit folgenden Code:

Delphi-Quellcode:
procedure HideStartmenu;
var
  Startmenu: Hwnd;
begin
  ShowWindow(FindWindowEx(0, 0, MAKEINTATOM($C017), 'Start'),SW_HIDE);
  ShowWindow(Findwindow('Shell_TrayWnd',nil), SW_HIDE);
  ShowWindow(FindWindow('Button', 'Start'), SW_HIDE);
  Startmenu := FindWindow('DV2ControlHost', nil);
  if Startmenu <> 0 then
    ShowWindow(Startmenu, SW_HIDE);
end;
Der Code blendet Startmenü und auch den Windows Start-ORB (Startknopf) aus. Sobald ich jedoch die linke Windows Taste drücke oder einen Doppelklick auf den Desktop mache, wird das Startmenü wieder eingeblendet. Die o.g. Routine rufe ich über einen Timer mit 200ms auf, das hat jedoch zur Folge dass die CPU-Last steigt. Wenn man schnell genug klickt schafft man es ausserdem den aktuellen Benutzer abzumelden. Genau das möchte ich aber verhindern !

Kann mir jemand sagen, wie das Startmenü dauerhaft ausgeblendet werden kann ??

KUBA

DelphiSecurity 6. Mär 2011 13:12

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Ich glaube man kann es nicht dauerhaft ausblenden, da mann ja zur Not einen Klick auf die "Windows Taste" simulieren kann, schneller als dein Code.

Außerdem:
  1. Was willste denn damit machen?
  2. Es gibt auch andere Möglichkeiten auf Funktionen vom "Windows Startmenü" zu zugreifen. :wink:

DS

:glaskugel:

DelphiSecurity 6. Mär 2011 13:14

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

diese Programm macht soetwas Ähnliches. :wink:

Luckie 6. Mär 2011 13:36

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Wenn du verhindern willst, dass wenn dein Programm läuft der Benutzer nicht so schnell an weiter Windowsfunktionen dran kommt, wie das Startmenü oder Icons auf dem Desktop, dann erstelle einen neuen Desktop und zeige dein Programmfenster auf dem neuen Desktop an. Aber der Bneutzer kann dann das Programm immer noch abschiessen und so an den normalen Desktop drankommen! Und du solltest dem Benutzer sagen, was du machst. Mich würde es ziemlich stören, wenn ein Programm mich einfach so versucht mich davon abzuhalten mein Windows normal zu benutzen.

kuba 6. Mär 2011 13:53

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Zitat:

Zitat von Luckie (Beitrag 1086218)
Mich würde es ziemlich stören, wenn ein Programm mich einfach so versucht mich davon abzuhalten mein Windows normal zu benutzen.

Das Windows ist aber "mein" Windows und der Benutzer, der "mein" Windows benutzt, soll den PC nicht herunterfahren dürfen oder irgendein Programm abschiessen :shock:

KUBA

Luckie 6. Mär 2011 13:57

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Was für einen Zweck hat dein Programm? So wie es bisher aussieht, scheint es ein ziemliches Gemurkse zu werden. Da gibt es bestimmt bessere Lösungen.

kuba 6. Mär 2011 16:34

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Zitat:

Zitat von Luckie (Beitrag 1086222)
Was für einen Zweck hat dein Programm? So wie es bisher aussieht, scheint es ein ziemliches Gemurkse zu werden. Da gibt es bestimmt bessere Lösungen.

Es soll das Windows Startmenue dauerhaft ausblenden. Programmieren mit Delphi für Windows 7 finde ich ist ein ziemliches Gemurkse. Frage mich manchmal ob es da nicht bessere Lösungen gibt...

Soweit ich weiß hängt das Aussehen des Startmenü von Windows 7 mit dem Explorer zusammen. Ob es wohl möglich ist eine andere Shell zu verwenden um das Startmenü auszublenden ??

KUBA

Luckie 6. Mär 2011 16:46

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Zitat:

Zitat von kuba (Beitrag 1086244)
Zitat:

Zitat von Luckie (Beitrag 1086222)
Was für einen Zweck hat dein Programm? So wie es bisher aussieht, scheint es ein ziemliches Gemurkse zu werden. Da gibt es bestimmt bessere Lösungen.

Es soll das Windows Startmenue dauerhaft ausblenden.

Das habe ich schon verstanden. Ich wollte eigentlich den Grundwissen, um da eventuell eine bessere Lösung zu finden.

Die Muhkuh 6. Mär 2011 17:01

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Eventuell geht das ganze Richtung KIOSK?

kuba 6. Mär 2011 17:02

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Na ja, über das Startmenü kann sich der aktuelle Benutzer abmelden oder den PC herunterfahren. Das möchte ich gern verhindern. Bei W2K/XP war dies noch leicht über die Registrierungsschlüssel "StartMenuLogOff", "NoClose" und "NoLogoff" zu verhindern, ab Windows Vista gehts nicht mehr. KIOSK passt schon ...

KUBA

TitanNano 6. Mär 2011 17:24

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
wie wäre es wenn du einfach die Windowstaste sperrst??

Delphi-Quellcode:
procedure BlockLeftWindowsKey(Sender: TObject; var Key: Char);
begin
  if Key = **Widowstaste Links** then Key := #0;
  end;

procedure BlockRigthWindowsKey(Sender: TObject; var Key: Char);
begin
  if Key = **Widowstaste rechts** then Key := #0;
  end;

himitsu 6. Mär 2011 17:27

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Über verschiedene Sicherheitsrichtlinien sollte es ein leichtes sein dem aktuellen Benutzer das Herunterfahren zu verbieten.

PS: Stecker ziehen und fertsch.

Luckie 6. Mär 2011 17:53

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Das kann man über die Computer-, Benutzer- oder Gruppenrichtlinien regeln. Wie das genau geht, kann ich dir nicht sagen, ich habe das noch nie gebraucht. Aber warum soll sich der Benutzer nicht abmelden bzw. den Rechner runterfahren dürfen?

TitanNano 6. Mär 2011 18:06

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
vielleicht geht es ja z.B. um einen Internet Café Computer. Da könnte ich es mir vorstellen.

Luckie 6. Mär 2011 18:08

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Auch da gibt es schon bessere fertige, kostenlose Lösungen. Zum Beispiel gibt es von Microsoft eine KIOSK Software.

kuba 6. Mär 2011 18:14

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Falls du Steady State meinst, da gehts nur bis Windows Vista.

kuba

Luckie 6. Mär 2011 18:24

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Nein, ich meine das: http://www.wintotal.de/artikel/artik...inrichten.html

kuba 6. Mär 2011 18:36

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Ist doch aber auch nur für Windows XP.

Kann man das Windows Startmenü vielleicht irgendwie "verändern" ? z.B. verkleinern oder gegen ein anderes austauschen ...

Zitat:

Zitat von TitanNano (Beitrag 1086254)
wie wäre es wenn du einfach die Windowstaste sperrst??

Bei Doppelklick auf den Desktop erscheint es dann aber doch wieder.

kuba

alfold 6. Mär 2011 19:55

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Hier gibt es was http://windows.microsoft.com/de-DE/w...the-Start-menu
Gibts auch für Win7

Was ich aber nicht versteh ist der zusammenhang :?:

Wenn Du einen anderen an Deinen PC ran lässt und er auf Deinem Account arbeitet hatt er nun mal die gleichen rechte und den selben desktop

Ansonsten hilft ja nur einen Gast-Account mit eingeschränkten rechten
Wie, kein windows runterfahren usw.
Das abmelden benötigt er trotzdem, sonst kommst Du selber nicht mehr ran!

Also irgendwie nicht ganz schlüssig Dein Wunsch ?

gruss alfold

implementation 6. Mär 2011 20:41

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Zitat:

Zitat von kuba (Beitrag 1086244)
Ob es wohl möglich ist eine andere Shell zu verwenden um das Startmenü auszublenden ??

Ja. Da musst du nur einen Registry-Schlüssel ändern.
Siehe hier

kuba 6. Mär 2011 21:11

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Danke für die Antworten, eine andere Shell habe ich inzwischen ausprobiert und zwar über den HKEY_CURRENT_USER Schlüssel. Scheint allerdings nicht zu funktionieren, das Startmenü präsentiert sich unverändert.

Um den Benuter abzumelden verwende ich die Tastenkombination CTRL+ALT+SHIFT, diese Tastenkombination fange ich ab und melde den Benutzer dann per EWX_LOGOFF ab.

Gern würde ich das Startmenü komplett abschalten, leider gelingt es nicht. Andererseits ist es nicht unbedingt so ganz schlimm, denn per "ForceAutoLogon" kann ich den Benutzer wieder automatisch anmelden. Dazu muss ich dem Benutzer allerdings ein Kennwort zuweisen.

Falls noch jemand eine Idee hat wie man das Startmenü dauerhaft ausblenden kann würde mich das sehr freuen. :wink:

kuba

WM_CLOSE 6. Mär 2011 21:21

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Wie sieht es denn aus mit [Strg]-[Alt]-[Del] damit kann man doch auch abmelden. Und du kannst die tastenkombnation nichtmal blockieren!

kuba 6. Mär 2011 21:29

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Zitat:

Zitat von kuba (Beitrag 1086250)
Bei W2K/XP war dies noch leicht über die Registrierungsschlüssel "StartMenuLogOff", "NoClose" und "NoLogoff" zu verhindern,...

Bei Verwendung o.g. Schlüssel hilft auch kein CTRL+ALT+DEL :wink:
Benutzer "Abmelden" ist dann nicht mehr vorhanden, auch kein "Herunterfahren"

kuba

rollstuhlfahrer 6. Mär 2011 21:32

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Zitat:

Zitat von kuba (Beitrag 1086314)
Um den Benuter abzumelden verwende ich die Tastenkombination CTRL+ALT+SHIFT, diese Tastenkombination fange ich ab und melde den Benutzer dann per EWX_LOGOFF ab.

Zitat:

Zitat von WM_CLOSE (Beitrag 1086316)
Wie sieht es denn aus mit [Strg]-[Alt]-[Del] damit kann man doch auch abmelden. Und du kannst die tastenkombnation nichtmal blockieren!

Stimmt. Selbst bei Low-Level-Hooks kommt das nicht an.

Zitat:

Zitat von kuba (Beitrag 1086314)
Andererseits ist es nicht unbedingt so ganz schlimm, denn per "ForceAutoLogon" kann ich den Benutzer wieder automatisch anmelden. Dazu muss ich dem Benutzer allerdings ein Kennwort zuweisen.

Dann wird der Benutzer ja nach dem Abmelden wieder angemeldet und bleibt also im System drin und da du ja ein Kennwort festgelegt hast, wird der Benutzer auch das nicht ändern können, weil er es nicht weiß.

Übrigens: Beende im Task-Manager doch mal alle Instanzen von Explorer.exe . Danach solltest du dann keine aktive "Shell" mehr haben. Drücke dann mal [Strg]+[Alt]+[Entf]. Siehe da: Auch ohne Explorer funktioniert das. Soll heißen: Auch mit einer eigenen "Shell" wirst du genau das nicht blocken können.

Bernhard

PS: Ansonsten gibt es diverse Richtlinien unter Lokale Richtlinien -> Sicherheitsrichtlinien. Da heißt eine z.B. Computer ohne Anmeldung herunterfahren (welche bestimmt, ob der Rechner herunter gefahren werden darf ohne vorherige Anmeldung) und es gibt eine, die angibt, wer berechtigt ist, den Computer herunterzufahren. Das ist vor allem auf Servern ganz interessant, da die nicht jeder herunterfahren darf.

hans ditter 6. Mär 2011 21:38

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Ich kann dazu jetzt nicht ganz so viel sagen, hab davon keine Ahnung...:? Aber es gab hier in der DP mal jemanden, der auch ein KIOSK-Programm geschrieben und veröffentlicht hat. Finde es aber gerade nicht wieder...

LG; hans ditter

[edit]
ups :oops: war ja sogar von kuba selbst... naja, dann kannst du das wohl wieder streichen...

WM_CLOSE 6. Mär 2011 21:54

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Schau dir mal die Gruppenrichtlinien
Benutzerkonfiguration\Admnistraive Vorlagen\Startmenü und Taskleiste\Option "Abmelden" dem Menü "Start" hinzufügen und
Benutzerkonfiguration\Admnistraive Vorlagen\STRG+ALT+ENTF (Optionen)\Abmeldung entfernen
an

kuba 6. Mär 2011 21:56

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Zitat:

Zitat von hans ditter (Beitrag 1086320)
Ich kann dazu jetzt nicht ganz so viel sagen, hab davon keine Ahnung...:? Aber es gab hier in der DP mal jemanden, der auch ein KIOSK-Programm geschrieben und veröffentlicht hat. Finde es aber gerade nicht wieder...

LG; hans ditter

[edit]
ups :oops: war ja sogar von kuba selbst... naja, dann kannst du das wohl wieder streichen...


Hy,

ja war von mir das KIOSK Programm, wollte es gern für Windows 7 etwas "schöner" machen, dazu benötige ich eine Idee um das Startmenü komplett zu entfernen. Das KIOSK Programm ist Freeware (für private Nutzung), mit Hilfe der mitgelieferten Registrierschlüssel kann man die Windows Oberfläche schön "dicht" machen sodass auch kein CTRL+ALT+DEL mehr hilft.

Da ich offensichtlich noch einige Zeit benötige um das Startmenü verschwinden zu lassen, werde ich die "Anfangskonfiguration" meines KIOSK Programms nochmal überarbeiten und ein paar Details in der Programmierung verändern. Das Programm wird dann für Windows 7 ausreichend vorkonfiguriert sein. Momentan ist die CPU-Auslastung wegen des "Pollen" am Startmenü etwas hoch (Vista/7), das will ich dann auch nochmal optimieren.:wink:

Die Registrierschlüssel für die Gruppenrichtlinien sind in meinem KIOSK Programm auch vorhanden...

KUBA

rollstuhlfahrer 6. Mär 2011 21:59

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Mal so ne ganz einfache Frage: Du schaltest das Startmenü ab. Wie soll man dann als Nutzer noch was starten können?

Benrhard

kuba 6. Mär 2011 22:05

AW: Windows 7 Startmenü (dauerhaft) ausblenden
 
Zitat:

Zitat von rollstuhlfahrer (Beitrag 1086323)
Mal so ne ganz einfache Frage: Du schaltest das Startmenü ab. Wie soll man dann als Nutzer noch was starten können?

Benrhard

Das KIOSK Programm beinhaltet einen NT-Service, über die GUI des KIOSK Programm kann eine Anwendung vorgegeben werden die vom NT-Service automatisch auf dem KIOSK Benutzer Desktop gestartet wird und bei Beendigung durch den KIOSK Benutzer erneut gestartet wird.

Vorstellbar wäre jedoch auch ein Programmstart über den Autostart Ordner oder über den Registrierschlüssel HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\Explorer\Run

kuba


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:43 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