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/)
-   -   Delphi Ereignis bei message abfangen geht nicht (https://www.delphipraxis.net/62442-ereignis-bei-message-abfangen-geht-nicht.html)

KuH_am_SchuH 4. Feb 2006 16:51


Ereignis bei message abfangen geht nicht
 
warum geht das hier denn nicht ??? :
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,shellapi,ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
var
msg : TMSG;


procedure TForm1.Button1Click(Sender: TObject);
begin
sendmessage(application.Handle,WM_SyScommand,sc_Screensave,0)
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if msg.message = WM_SYSCOMMAND then begin
 shellexecute(handle,nil,'notepad',nil,nil,SW_SHOWNORMAL)
 enD;
 end;

end.



helft mir bitte^^

Daniel 4. Feb 2006 16:53

Re: Geht nich :/
 
Hallo,

zwei Bitten:

(1) Geben Deinem Beitrag einen aussagekräftigen Titel. Viele Dinge gehen nicht. ;-)
(2) Bechreibe, was Dein Code geplanterweise machen soll und was er tatsächlich tut. Das macht es für uns drastisch leichter, Dir eine brauchbare Hilfestellung zu geben.

:cheers:

mkinzler 4. Feb 2006 16:54

Re: Geht nich :/
 
Was willst du eigentlich machen?

Du hast zawr eine variabel für die Message, es findet aber keien Instantiierung statt.

Nils_13 4. Feb 2006 16:54

Re: Geht nich :/
 
Nun die Standart-Quälfrage :mrgreen: : Was geht nicht.

//der rote Kasten hat gefehlt, mist

KuH_am_SchuH 4. Feb 2006 16:56

Re: Geht nich :/
 
ich will einfach ,dass wenn WM_SYSCOMMAND gesendet wird ,dass der notepad startet.
ich hab keine bestimmten absichten ich probier nurn bissl rum ;).


aber das isses ja : nix passiert^^

leddl 4. Feb 2006 17:00

Re: Geht nich :/
 
Und immer noch is der Titel nich geändert :roll:

Kann es sein, daß du den Timer eventuell nicht aktiviert hast? ;)

//Edit: Auf jeden Fall dürfte das aber sowieso schief gehen, da msg nirgendow instanziiert wird - wie mkinzler ja schon festgestellt hat.

KuH_am_SchuH 4. Feb 2006 17:01

Re: Geht nich :/
 
doch den hab ich natürlich aktiviert ^^

und wie ändert man den titel^^????

Airblader 4. Feb 2006 17:03

Re: Geht nich :/
 
http://www.delphipraxis.net/template.../icon_edit.gif :roll:

Nils_13 4. Feb 2006 17:03

Re: Geht nich :/
 
Zitat:

Zitat von KuH_am_SchuH
doch den hab ich natürlich aktiviert ^^

und wie ändert man den titel^^????

Indem du den ersten Beitrag editierst (edit) und in dem Titel-edit den Titel anpasst.

leddl 4. Feb 2006 17:07

Re: Geht nich :/
 
Zitat:

Zitat von KuH_am_SchuH
doch den hab ich natürlich aktiviert ^^

Sicher? Und du bekommst keine AV?

KuH_am_SchuH 4. Feb 2006 17:11

Re: Ereignis bei message abfangen geht nicht
 
es passiert garnichts :(

SirThornberry 4. Feb 2006 17:11

Re: Ereignis bei message abfangen geht nicht
 
im Moment fängst du gar keine Message ab, das würde so funktionieren:
Delphi-Quellcode:
private/protected/public
  procedure MessageProcedure(var YourMesageVar: TYourMessageTyp); message yourmessage;
konkret könnte das im allgemeinen Fall so aussehen
Delphi-Quellcode:
private
  procedure FWM_SYSCOMMAND(var AMsg: TMessage); message wm_syscommand;

KuH_am_SchuH 4. Feb 2006 17:12

Re: Ereignis bei message abfangen geht nicht
 
achsooooo thx ;)

KuH_am_SchuH 4. Feb 2006 17:22

Re: Ereignis bei message abfangen geht nicht
 
bei mir sagt delphi dass es bei
Delphi-Quellcode:
procedure FWM_SYSCOMMAND(var AMsg: TMessage); message wm_syscommand;
message am schluss nicht kennt... was nun^^?

KuH_am_SchuH 4. Feb 2006 17:23

Re: Ereignis bei message abfangen geht nicht
 
was nun was nun^^?

SirThornberry 4. Feb 2006 17:26

Re: Ereignis bei message abfangen geht nicht
 
warum zitierst du dich selbst? und warum postest du 3 mal hintereinander? Den "Edit"-Button solltest du doch inzwischen kennen. Das was du machst nennt sich pushen und ist nur nach 24 Stunden erlaubt. Bei dem was du zuerst geschrieben hast, fehlt eindeutig das Leerzeichen. Und das Message darf nur im Deklarationsteils sein
Delphi-Quellcode:
private
  procedure FWM_SYSCOMMAND(var AMsg: TMessage); message wm_syscommand;
[...]
procedure TYourClass.FWM_SYSCOMMAND(var AMsg: TMessage);
begin
  inherited;
end;


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