Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Wm_syscommand (https://www.delphipraxis.net/54352-wm_syscommand.html)

marabu 3. Okt 2005 13:31

Re: Wm_syscommand
 
Das willst du jetzt bestimmt nicht lesen, aber bei mir funktioniert das so - direkt aus dem laufenden Quelltext kopiert:

Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var
  h: HWnd;
  buf: array [0..255] of char;
begin
  h := Handle;
  while h > 0 do
  begin
    if IsWindowVisible(h) then
    begin
      GetWindowText(h, buf, SizeOf(buf));
      if StrPas(@buf) <> 'Program Manager'
        then PostMessage(h, WM_SYSCOMMAND, SC_CLOSE, 0)
        else ShowMessage('not closing program manager');
    end;
    h := GetNextWindow(h, GW_HWNDNEXT);
  end;
end;
marabu

Christian Seehase 3. Okt 2005 13:57

Re: Wm_syscommand
 
Moin Amd,

unter welchem Betriebssystem hast Du das getestet?

Marabus Beispiel funktioniert, z.B. auch unter Windows 2000 SP4. (mit und ohne ShowMessage)

Amd 3. Okt 2005 14:15

Re: Wm_syscommand
 
Hallo Christian...
ich arbeite mit WinXp inkl. Sp2

Grüße Amd

Amd 3. Okt 2005 19:21

Re: Wm_syscommand
 
@marabu
Zitat:

Das willst du jetzt bestimmt nicht lesen, aber bei mir funktioniert das so
Jepp das stimmt.
Ich muss auch sagen das ich deinen Beitrag auch ersteinmal überlesen habe, es kamen soviele auf einmal.

Aber...,
bei mir sieht mein desktop mit deinem Sourcecode auch so aus.
http://www.siratec.de/gifs_fr_ub/screen.gif
Führe erstmal deinen Code aus...dann klickst du auf den "Desktop anzeigen" Button unten im Schnellstart der Taskleiste, dann führe bitte nochmal deinen Code aus.
Und....?

Grüße
Amd

marabu 3. Okt 2005 19:57

Re: Wm_syscommand
 
Habe deine Vorgehensweise nachvollzogen und kann dir den Fehler bestätigen. Leider werde ich ihn heute abend nicht mehr analysieren können.

marabu

Amd 3. Okt 2005 21:47

Re: Wm_syscommand
 
moin marabu

Zitat:

Habe deine Vorgehensweise nachvollzogen und kann dir den Fehler bestätigen.
*puuuh* super...

Grüße
Amd

marabu 4. Okt 2005 12:18

Re: Wm_syscommand
 
Hallo Amd,

vielleicht ist dein Vorhaben gar nicht so einfach zu realisieren, wie in deinem ersten Ansatz. Zumindest habe ich einen Link gefunden, wo sich die Diskutanten deutlich mehr Arbeit machen: klick

Grüße vom marabu

Amd 4. Okt 2005 12:31

Re: Wm_syscommand
 
Hey danke für den Link, hilft weiter :)

Amd 4. Okt 2005 21:14

Re: Wm_syscommand
 
Was mir aufgefallen ist, wenn ich alles in FormShow packe ist der Deektop weg ...
wenn ich alles in in einen Button packe ist alles ok.

Amd 5. Okt 2005 12:35

Re: Wm_syscommand
 
Zitat:

Zitat von Amd
Was mir aufgefallen ist, wenn ich alles in FormShow packe ist der Deektop weg ...
wenn ich alles in in einen Button packe ist alles ok.

jepp das war es auch....im
Delphi-Quellcode:
OnPaint
funktioniert es nun.
Danke für eure Hilfe :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 Uhr.
Seite 2 von 2     12   

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