AGB  ·  Datenschutz  ·  Impressum  







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

64bit SC_CLOSE?

Ein Thema von youuu · begonnen am 14. Aug 2010 · letzter Beitrag vom 14. Aug 2010
Antwort Antwort
Seite 1 von 2  1 2      
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#1

64bit SC_CLOSE?

  Alt 14. Aug 2010, 00:10
Hi,

ist es möglich mit SC_CLOSE ein Fenster auf einen 64Bit System zu schließen?
bei mir passiert leider rein gar nichts.

System: Windows Server Web 64Bit
Steven
  Mit Zitat antworten Zitat
Mschmidt

Registriert seit: 4. Jul 2010
Ort: Berlin
62 Beiträge
 
Delphi XE2 Professional
 
#2

AW: 64bit SC_CLOSE?

  Alt 14. Aug 2010, 09:57
meines wissens nach wird bei Send/PostMessage nicht zwischen 32-/64 Bit unterschieden

Poste doch mal den Code.

:-mschmidt
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#3

AW: 64bit SC_CLOSE?

  Alt 14. Aug 2010, 10:03
Delphi-Quellcode:
if (h <> 0) then // Wenn Anwendung gefunden ....
  SendMessage(h, WM_SYSCOMMAND, SC_CLOSE, 0);
Unter 32Bit funktionierte es einwandfrei.
Habe auch zum Test

Delphi-Quellcode:
if (h <> 0) then // Wenn Anwendung gefunden ....
Begin
  SendMessage(h, WM_SYSCOMMAND, SC_CLOSE, 0);
  Showmessage('found');
end;
verwendet um zu schauen, ob er die Anwendung einfach nicht findet, allerdings poppte Showmessage('found'); auf. Nur geschlossen hat er es nicht
Steven
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
226 Beiträge
 
Delphi XE4 Enterprise
 
#4

AW: 64bit SC_CLOSE?

  Alt 14. Aug 2010, 10:59
Ein Handle ist doch vom Typ LongWord, also 32Bit.
Vielleicht ist unter Win64 ein Handle 64Bit?
  Mit Zitat antworten Zitat
Mschmidt

Registriert seit: 4. Jul 2010
Ort: Berlin
62 Beiträge
 
Delphi XE2 Professional
 
#5

AW: 64bit SC_CLOSE?

  Alt 14. Aug 2010, 11:17
hmmm, ein HWND ist deklariert als typedef HANDLE HWND. Handle ist deklariert als typedef PVOID HANDLE.
Pvoid ist also ein Zeiger auf irgentwas (wenn mich meine C Kenntnisse jetzt nicht verlassen haben )
Das würde es aber immer nocht nicht erklären.
:-mschmidt
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#6

AW: 64bit SC_CLOSE?

  Alt 14. Aug 2010, 11:29
Delphi-Quellcode:
var
  WndHande: HWND; // HWND => DWORD => Cardinal
if (WndHande <> 0) then // Wenn Anwendung gefunden ....
begin
  SendMessage(WndHande, WM_SYSCOMMAND, SC_CLOSE, 0);
end;
Soweit, so gut.
Nun kommt es darauf an ob das Fenster (die Application) auch auf WM_SYSCOMMAND und SC_CLOSE reagiert.

Versuch doch mal:
SendMessage(WndHande, WM_CLOSE, 0, 0);
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#7

AW: 64bit SC_CLOSE?

  Alt 14. Aug 2010, 14:08
SendMessage(h, WM_CLOSE, 0, 0); funktioniert leider auch nicht.
Steven
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#8

AW: 64bit SC_CLOSE?

  Alt 14. Aug 2010, 14:19
Wenn Dich die Rückmeldung von SENDMESSAGE nicht interessiert, dann nimm doch POSTMESSAGE !

Zitat:
Im Allgemeinen ist PostMessage die sicherere Lösung, wenn es um die Übermittlung von Nachrichten an einen anderen Prozess oder Thread geht, weil SendMessage bei solch einer Aktion nämlich blockieren kann.
http://msdn.microsoft.com/de-de/library/bb979347.aspx

Geändert von hathor (14. Aug 2010 um 14:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

AW: 64bit SC_CLOSE?

  Alt 14. Aug 2010, 14:24
Poste doch mal ein Stück mehr Code, damit wir der sache mal auf den Grund gehen können.
Ins besondere wie du das Fensterhandle ermittelst u. ggf. was für ein Fenster du schliessen möchtest.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#10

AW: 64bit SC_CLOSE?

  Alt 14. Aug 2010, 15:06
Selbst POSTMESSAGE tut einfach nichts :/

Delphi-Quellcode:
function FindWindowByTitle(WindowTitle: string): Hwnd;
var
  NextHandle: Hwnd;
  NextTitle: array[0..260] of char;
begin
  // Get the first window
  NextHandle := GetWindow(Application.Handle, GW_HWNDFIRST);
  while NextHandle > 0 do
  begin
    // retrieve its text
    GetWindowText(NextHandle, NextTitle, 255);
    if Pos(WindowTitle, StrPas(NextTitle)) <> 0 then
    begin
      Result := NextHandle;
      Exit;
    end
    else
      // Get the next window
      NextHandle := GetWindow(NextHandle, GW_HWNDNEXT);
  end;
  Result := 0;
end;

Delphi-Quellcode:
var
  h: hwnd;
begin
  h := FindWindowByTitle('Windows-Sicherheitswarnung');
  if (h <> 0) then // if we found
    POSTMESSAGE(h, WM_SYSCOMMAND, SC_CLOSE, 0);
end;
Diese Meldung ist erscheint leider jedesmal wenn ich auf eine bestimmte Domain gehe, obwohl diese normalerweise nicht erscheinen dürfte, aber darum geht es nicht.

Auf einen 32Bit Windows 7 schließt sich die Nachricht korrekt, nur auf einen Windows Server WEB 64Bit passiert rein gar nicht, allerdingsfinden tut er das Handle schon.
Steven

Geändert von youuu (14. Aug 2010 um 15:09 Uhr)
  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 13:51 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