AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Windows Taste Sperren

Ein Thema von Niely · begonnen am 20. Apr 2008 · letzter Beitrag vom 21. Apr 2008
Antwort Antwort
Seite 1 von 2  1 2      
Niely

Registriert seit: 20. Apr 2008
Ort: Koblenz
3 Beiträge
 
#1

Windows Taste Sperren

  Alt 20. Apr 2008, 17:52
Hallo,

ich bräuchte für ein Schulprojekt ein Delphi-Programm, welches mir die Windows Taste sperrt bzw Entsperrt. Kann mir da jemand weiterhelfen? WÄr echt super

Gruß

Philipp
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Windows Taste Sperren

  Alt 20. Apr 2008, 17:54
Hi,
gnaz herzliches Willkommen in der Delphi-Praxis

Also wenn du mal die Suche bemühst wirst du da so 35 Themen finden Es geht mit Hooks! Aber bitte, kann jemand diesen Thread sperren
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Windows Taste Sperren

  Alt 20. Apr 2008, 17:55
hier gibts nen Tip
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
20. Apr 2008, 18:22
Dieses Thema wurde von "Matze" von "Open-Source" nach "Windows API / MS.NET Framework API" verschoben.
Delphi-Frage
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

Re: Windows Taste Sperren

  Alt 20. Apr 2008, 18:31
Wenn du nur den Startbutton resp. das Startmenü deaktivieren möchtest, genügt auch dieser "unschöne" Code:

Delphi-Quellcode:
procedure ShowStartButton(bVisible: Boolean);
var
  TaskWindow, h: HWND;
begin
  if bVisible then
  begin
    h := FindWindowEx(GetDesktopWindow, 0, 'Button', nil);
    if h <> 0 then
    begin
      TaskWindow := FindWindow('Shell_TrayWnd', nil);
      ShowWindow(h, 1);
      Windows.SetParent(h, TaskWindow);
    end;
  end
  else
  begin
    h := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil);
    if h <> 0 then
    begin
      ShowWindow(h, 0);
      Windows.SetParent(h, 0);
    end;
  end;
end;
Thomas
  Mit Zitat antworten Zitat
Niely

Registriert seit: 20. Apr 2008
Ort: Koblenz
3 Beiträge
 
#6

Re: Windows Taste Sperren

  Alt 20. Apr 2008, 19:02
Hi,

also mit Hook versteh ich nur Bahnhof


Und das mit dem Sourcecode von Toms deaktiviert ja nur den Start button

Also mein Problem ist folgendes:

Wir haben ein Informationstool für die Schule geschrieben. Dort bekommt jeder Schüler beim PC hochfahren eine Meldung mit den neusten News. Diese muss er akzeptieren bevor er in Windows kommt. Wenn er nein klickt, meldet er sich wieder automatisch ab. Jetzt haben wir halt nur das Problem, dass die Windows Taste noch funktioniert.
Die Taskleiste selber haben wir schon durch eine Funktion deaktiviert. Es ist halt nur der blöde Knopf

Hat der nicht vielleicht jemand nen Stück Sourcecode parat, den man vielleicht nur so einfügen müsste. Nen Thread mit so nem Code hatte ich hier gefunden nur ist der Sourcecode nicht mehr zu erreichen
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#7

Re: Windows Taste Sperren

  Alt 20. Apr 2008, 19:05
Zitat von Niely:
Hi,
also mit Hook versteh ich nur Bahnhof
Dann betrachte den Hook mal als eine "Blackbox" und teste mal das Beispiel.

Ich verstehe auch nicht jeden Code in der VCL und trotzdem benütze ich den Code.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Windows Taste Sperren

  Alt 20. Apr 2008, 19:28
Zitat von toms:
Wenn du nur den Startbutton resp. das Startmenü deaktivieren möchtest, genügt auch dieser "unschöne" Code:

Delphi-Quellcode:
procedure ShowStartButton(bVisible: Boolean);
var
  TaskWindow, h: HWND;
begin
  if bVisible then
  begin
    h := FindWindowEx(GetDesktopWindow, 0, 'Button', nil);
    if h <> 0 then
    begin
      TaskWindow := FindWindow('Shell_TrayWnd', nil);
      ShowWindow(h, 1);
      Windows.SetParent(h, TaskWindow);
    end;
  end
  else
  begin
    h := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil);
    if h <> 0 then
    begin
      ShowWindow(h, 0);
      Windows.SetParent(h, 0);
    end;
  end;
end;
der code funzt soweit ich weiß bei vista auch nicht..
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Niely

Registriert seit: 20. Apr 2008
Ort: Koblenz
3 Beiträge
 
#9

Re: Windows Taste Sperren

  Alt 20. Apr 2008, 19:31
könnte man nicht auch einfach ohne riesen Quellcode sagen, dass wenn der User die Windows Taste betätigt eine andere Funktion ausgeführt wird. Also die Windows-Taste kurze Zeit anders belegen?
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Windows Taste Sperren

  Alt 20. Apr 2008, 19:40
schau dir nochmal in ruhe das bsp von helmi an mit den hooks, das ist gar nicht so kompliziert wie es aussieht...
du musst den code der seite nur nen bissel zerflücken, da es alles nen bissel unübersichtlich zusammen geknallt ist!

zu deiner frage: nein, denn ohne hook bekommst du das kaum ordentlich gelöst..
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz