Detectar a finalização do windows? obs: tecla quot;Powerqu
Eu tenho este código só que este só detecta a finalização do windows quando o usuário desliga o computador da forma tradicional, ou seja menu iniciar/Desligar e não quando o usuário pressiona a tecla [u:8d49ec50b4]´Power´ do teclado[/u:8d49ec50b4].
Se alguém souber pelo menos qual a mensagem (Na forma tradicional é WM_ENDSESSION) que o windows envia para as aplicações abertas quando a tecla Power é pressionada já seria muito bom.
[color=darkblue:8d49ec50b4][i:8d49ec50b4]procedure WMEndSession(var Msg : TWMEndSession); message WM_ENDSESSION;
Adicionar a procedure à seção implementation de sua unit:
procedure TForm1.WMEndSession(var Msg : TWMEndSession);
begin
if Msg.EndSession = TRUE then
ShowMessage(´O Windows está finalizando ´ + #13 + ´às ´ +
FormatDateTime(´c´, Now));
inherited;
end; [/i:8d49ec50b4][/color:8d49ec50b4][b:8d49ec50b4][/b:8d49ec50b4]
Se alguém souber pelo menos qual a mensagem (Na forma tradicional é WM_ENDSESSION) que o windows envia para as aplicações abertas quando a tecla Power é pressionada já seria muito bom.
[color=darkblue:8d49ec50b4][i:8d49ec50b4]procedure WMEndSession(var Msg : TWMEndSession); message WM_ENDSESSION;
Adicionar a procedure à seção implementation de sua unit:
procedure TForm1.WMEndSession(var Msg : TWMEndSession);
begin
if Msg.EndSession = TRUE then
ShowMessage(´O Windows está finalizando ´ + #13 + ´às ´ +
FormatDateTime(´c´, Now));
inherited;
end; [/i:8d49ec50b4][/color:8d49ec50b4][b:8d49ec50b4][/b:8d49ec50b4]
Fábio Borges
Curtidas 0
Respostas
Fábio Borges
06/12/2003
Eu tenho este código só que este só detecta a finalização do windows quando o usuário desliga o computador da forma tradicional, ou seja menu iniciar/Desligar e não quando o usuário pressiona a [b:cc401faaf0]tecla ´Power´ do teclado[/b:cc401faaf0].
Se alguém souber pelo menos qual a mensagem (Na forma tradicional é WM_ENDSESSION) que o windows envia para as aplicações abertas quando a tecla Power é pressionada já seria muito bom.
[color=blue:cc401faaf0]procedure WMEndSession(var Msg : TWMEndSession); message WM_ENDSESSION;
Adicionar a procedure à seção implementation de sua unit:
procedure TForm1.WMEndSession(var Msg : TWMEndSession);
begin
if Msg.EndSession = TRUE then
ShowMessage(´O Windows está finalizando ´ + #13 + ´às ´ +
FormatDateTime(´c´, Now));
inherited;
end[/color:cc401faaf0];
Se alguém souber pelo menos qual a mensagem (Na forma tradicional é WM_ENDSESSION) que o windows envia para as aplicações abertas quando a tecla Power é pressionada já seria muito bom.
[color=blue:cc401faaf0]procedure WMEndSession(var Msg : TWMEndSession); message WM_ENDSESSION;
Adicionar a procedure à seção implementation de sua unit:
procedure TForm1.WMEndSession(var Msg : TWMEndSession);
begin
if Msg.EndSession = TRUE then
ShowMessage(´O Windows está finalizando ´ + #13 + ´às ´ +
FormatDateTime(´c´, Now));
inherited;
end[/color:cc401faaf0];
GOSTEI 0
Bruno.oliveira
06/12/2003
a mensagem para o desligamento é WM_QUERYENDSESSION...
Um exemplo de código:
private
{ Private declarations }
procedure WMQueryEndSession (var Msg : TWMQueryEndSession); message WM_QueryEndSession;
procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession);
begin
if MessageDlg(´O Windows deseja desligar agora, Permitir?´, mtConfirmation, [mbYes,mbNo], 0) = mrNo then
Msg.Result := 0
else
Msg.Result := 1;
end;
Um exemplo de código:
private
{ Private declarations }
procedure WMQueryEndSession (var Msg : TWMQueryEndSession); message WM_QueryEndSession;
procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession);
begin
if MessageDlg(´O Windows deseja desligar agora, Permitir?´, mtConfirmation, [mbYes,mbNo], 0) = mrNo then
Msg.Result := 0
else
Msg.Result := 1;
end;
GOSTEI 0
Fábio Borges
06/12/2003
OK, bruno.oliveira eu tenho este código tbm só que este tbm não detecta a finalização do windows quando o usuário pressiona a tecla [b:31aeacde52]Power[/b:31aeacde52] do teclado.
Obrigado mesmo assim pela atenção.
Obrigado mesmo assim pela atenção.
GOSTEI 0
Fábio Borges
06/12/2003
Será que ninguém sabe ess :( a?
GOSTEI 0
Fórum Vini
06/12/2003
Olá Fabio,
Eu não sei se funciona com o botão Power do teclado, mas você pode testar usando o evento OnCloseQuery do seu formulário principal...
Espero ter ajudado.
Vinicius.
Eu não sei se funciona com o botão Power do teclado, mas você pode testar usando o evento OnCloseQuery do seu formulário principal...
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin showmessage(´O Windows será desligado!´); end;
Espero ter ajudado.
Vinicius.
GOSTEI 0
Fábio Borges
06/12/2003
Valew .Vini. mas eu já tentei fazer isso tbm, aliás tudo que éra lógico eu já tentei, mas mesmo assim obrigado pela atenção continuo aguardando respostas...
GOSTEI 0
Fórum Vini
06/12/2003
Fábio,
em último caso, você pode colocar um hook no teclado, assim, uma função de uma dll é chamada quando uma tecla é pressionada, mesmo fora do seu aplicativo. Aqui está um exemplo de um KeyLogger que utiliza essa técnica: http://www.clubedelphi.com.br/aplicativos/keylogger.html
Espero ter ajudado.
Vinicius.
em último caso, você pode colocar um hook no teclado, assim, uma função de uma dll é chamada quando uma tecla é pressionada, mesmo fora do seu aplicativo. Aqui está um exemplo de um KeyLogger que utiliza essa técnica: http://www.clubedelphi.com.br/aplicativos/keylogger.html
Espero ter ajudado.
Vinicius.
GOSTEI 0
Fábio Borges
06/12/2003
.Vini.,
Se eu for trabalhar em cima desta lógica eu tenho que arranjar um jeito de fazer com que esta tecla não responde a nenhuma ação, ou seja, no momento em que a tecla Power for pressionada nada deve acontecer, como se fosse no evento onKeyDown Key:=0 mas eu sei que o modo de trabalhar com hook é diferente, portanto não é tão fácil assim e eu não manjo muito do assunto, quem souber [b:0cd4ed745b]como cancelar o pressionamento de uma tecla usando Hook[/b:0cd4ed745b] poste aí, fico muito agradecido...
Se eu for trabalhar em cima desta lógica eu tenho que arranjar um jeito de fazer com que esta tecla não responde a nenhuma ação, ou seja, no momento em que a tecla Power for pressionada nada deve acontecer, como se fosse no evento onKeyDown Key:=0 mas eu sei que o modo de trabalhar com hook é diferente, portanto não é tão fácil assim e eu não manjo muito do assunto, quem souber [b:0cd4ed745b]como cancelar o pressionamento de uma tecla usando Hook[/b:0cd4ed745b] poste aí, fico muito agradecido...
GOSTEI 0
Anderson_blumenau
06/12/2003
Talvez isso ajude
unit MainFrm;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TMainForm = class(TForm)
btnExit: TButton;
rgExitOptions: TRadioGroup;
procedure btnExitClick(Sender: TObject);
end;
var
MainForm: TMainForm;
implementation
{$R *.DFM}
procedure TMainForm.btnExitClick(Sender: TObject);
begin
case rgExitOptions.ItemIndex of
0: Win32Check(ExitWindows(0, 0)); // Sai e conecta-se como um
// usuário diferente.
1: Win32Check(ExitWindowsEx(EWX_REBOOT, 0)); // Sai/reinicializa
2: Win32Check(ExitWindowsEx(EWX_SHUTDOWN, 0));// Sai para desligar
// Sai/Desconecta/Conecta como usuário diferente
3: Win32Check(ExitWindowsEx(EWX_LOGOFF, 0));
end;
end;
end.GOSTEI 0
Anderson_blumenau
06/12/2003
Alguem sabe uma lista das mensagens do Windows( WM_MESSAGE) mais conhecidas
GOSTEI 0
Fábio Borges
06/12/2003
Olá Anderson_Blumenau eu acho que tu não entendeu. :roll: Eu quero impedir o desligamento e não desligar o micro entendeu? e sobre as messages se você conseguir poste aí que eu tbm estou interessado falow...
GOSTEI 0
Fábio Borges
06/12/2003
Taí uma dica com algumas messages.
Converter mensagens do Windows em String. Enviada por Celso Rodrigues cdelphi@terra.com.br
function MsgToStr( WM : word ) : String;
// Converte uma mensagem do windows, que está sendo transitada no sistema, em String
// Use o criando mais duas rotinas e um Statusbar:
// procedure TForm1.AppOnMessage(var Msg: TMsg; var Handled: Boolean);
// Begin
// StatusBar1.SimpleText := MsgToStr(Msg.Message);
// End;
// procedure TForm1.FormCreate(Sender: TObject);
// begin
// Application.OnMessage := AppOnMessage;
// end;
begin
case WM of
WM_ACTIVATE : result:= ´WM_ACTIVATE ´;
WM_ACTIVATEAPP : result:= ´WM_ACTIVATEAPP ´;
WM_ASKCBFORMATNAME : result:= ´WM_ASKCBFORMATNAME ´;
WM_CANCELMODE : result:= ´WM_CANCELMODE ´;
WM_CHANGECBCHAIN : result:= ´WM_CHANGECBCHAIN ´;
WM_CHAR : result:= ´WM_CHAR ´;
WM_CHARTOITEM : result:= ´WM_CHARTOITEM ´;
WM_CHILDACTIVATE : result:= ´WM_CHILDACTIVATE ´;
WM_CLEAR : result:= ´WM_CLEAR ´;
WM_CLOSE : result:= ´WM_CLOSE ´;
WM_COMMAND : result:= ´WM_COMMAND ´;
WM_COMMNOTIFY : result:= ´WM_COMMNOTIFY ´;
WM_COMPACTING : result:= ´WM_COMPACTING ´;
WM_COMPAREITEM : result:= ´WM_COMPAREITEM ´;
WM_COPY : result:= ´WM_COPY ´;
WM_CREATE : result:= ´WM_CREATE ´;
WM_CTLCOLOR : result:= ´WM_CTLCOLOR ´;
WM_CUT : result:= ´WM_CUT ´;
WM_DDE_ACK : result:= ´WM_DDE_ACK ´;
WM_DDE_ADVISE : result:= ´WM_DDE_ADVISE ´;
WM_DDE_DATA : result:= ´WM_DDE_DATA ´;
WM_DDE_EXECUTE : result:= ´WM_DDE_EXECUTE ´;
WM_DDE_INITIATE : result:= ´WM_DDE_INITIATE ´;
WM_DDE_POKE : result:= ´WM_DDE_POKE ´;
WM_DDE_REQUEST : result:= ´WM_DDE_REQUEST ´;
WM_DDE_TERMINATE : result:= ´WM_DDE_TERMINATE ´;
WM_DDE_UNADVISE : result:= ´WM_DDE_UNADVISE ´;
WM_DEADCHAR : result:= ´WM_DEADCHAR ´;
WM_DELETEITEM : result:= ´WM_DELETEITEM ´;
WM_DESTROY : result:= ´WM_DESTROY ´;
WM_DESTROYCLIPBOARD : result:= ´WM_DESTROYCLIPBOARD ´;
WM_DEVMODECHANGE : result:= ´WM_DEVMODECHANGE ´;
WM_DRAWCLIPBOARD : result:= ´WM_DRAWCLIPBOARD ´;
WM_DRAWITEM : result:= ´WM_DRAWITEM ´;
WM_DROPFILES : result:= ´WM_DROPFILES ´;
WM_ENABLE : result:= ´WM_ENABLE ´;
WM_ENDSESSION : result:= ´WM_ENDSESSION ´;
WM_ENTERIDLE : result:= ´WM_ENTERIDLE ´;
WM_ERASEBKGND : result:= ´WM_ERASEBKGND ´;
WM_FONTCHANGE : result:= ´WM_FONTCHANGE ´;
WM_GETDLGCODE : result:= ´WM_GETDLGCODE ´;
WM_GETFONT : result:= ´WM_GETFONT ´;
WM_GETMINMAXINFO : result:= ´WM_GETMINMAXINFO ´;
WM_GETTEXT : result:= ´WM_GETTEXT ´;
WM_GETTEXTLENGTH : result:= ´WM_GETTEXTLENGTH ´;
WM_HSCROLL : result:= ´WM_HSCROLL ´;
WM_HSCROLLCLIPBOARD : result:= ´WM_HSCROLLCLIPBOARD ´;
WM_ICONERASEBKGND : result:= ´WM_ICONERASEBKGND ´;
WM_INITDIALOG : result:= ´WM_INITDIALOG ´;
WM_INITMENU : result:= ´WM_INITMENU ´;
WM_INITMENUPOPUP : result:= ´WM_INITMENUPOPUP ´;
WM_KEYDOWN : result:= ´WM_KEYDOWN ´;
WM_KEYUP : result:= ´WM_KEYUP ´;
WM_KILLFOCUS : result:= ´WM_KILLFOCUS ´;
WM_LBUTTONDBLCLK : result:= ´WM_LBUTTONDBLCLK ´;
WM_LBUTTONDOWN : result:= ´WM_LBUTTONDOWN ´;
WM_LBUTTONUP : result:= ´WM_LBUTTONUP ´;
WM_MBUTTONDBLCLK : result:= ´WM_MBUTTONDBLCLK ´;
WM_MBUTTONDOWN : result:= ´WM_MBUTTONDOWN ´;
WM_MBUTTONUP : result:= ´WM_MBUTTONUP ´;
WM_MDIACTIVATE : result:= ´WM_MDIACTIVATE ´;
WM_MDICASCADE : result:= ´WM_MDICASCADE ´;
WM_MDICREATE : result:= ´WM_MDICREATE ´;
WM_MDIDESTROY : result:= ´WM_MDIDESTROY ´;
WM_MDIGETACTIVE : result:= ´WM_MDIGETACTIVE ´;
WM_MDIICONARRANGE : result:= ´WM_MDIICONARRANGE ´;
WM_MDIMAXIMIZE : result:= ´WM_MDIMAXIMIZE ´;
WM_MDINEXT : result:= ´WM_MDINEXT ´;
WM_MDIRESTORE : result:= ´WM_MDIRESTORE ´;
WM_MDISETMENU : result:= ´WM_MDISETMENU ´;
WM_MDITILE : result:= ´WM_MDITILE ´;
WM_MEASUREITEM : result:= ´WM_MEASUREITEM ´;
WM_MENUCHAR : result:= ´WM_MENUCHAR ´;
WM_MENUSELECT : result:= ´WM_MENUSELECT ´;
WM_MOUSEACTIVATE : result:= ´WM_MOUSEACTIVATE ´;
WM_MOUSEMOVE : result:= ´WM_MOUSEMOVE ´;
WM_MOVE : result:= ´WM_MOVE ´;
WM_NCACTIVATE : result:= ´WM_NCACTIVATE ´;
WM_NCCALCSIZE : result:= ´WM_NCCALCSIZE ´;
WM_NCCREATE : result:= ´WM_NCCREATE ´;
WM_NCDESTROY : result:= ´WM_NCDESTROY ´;
WM_NCHITTEST : result:= ´WM_NCHITTEST ´;
WM_NCLBUTTONDBLCLK : result:= ´WM_NCLBUTTONDBLCLK ´;
WM_NCLBUTTONDOWN : result:= ´WM_NCLBUTTONDOWN ´;
WM_NCLBUTTONUP : result:= ´WM_NCLBUTTONUP ´;
WM_NCMBUTTONDBLCLK : result:= ´WM_NCMBUTTONDBLCLK ´;
WM_NCMBUTTONDOWN : result:= ´WM_NCMBUTTONDOWN ´;
WM_NCMBUTTONUP : result:= ´WM_NCMBUTTONUP ´;
WM_NCMOUSEMOVE : result:= ´WM_NCMOUSEMOVE ´;
WM_NCPAINT : result:= ´WM_NCPAINT ´;
WM_NCRBUTTONDBLCLK : result:= ´WM_NCRBUTTONDBLCLK ´;
WM_NCRBUTTONDOWN : result:= ´WM_NCRBUTTONDOWN ´;
WM_NCRBUTTONUP : result:= ´WM_NCRBUTTONUP ´;
WM_NEXTDLGCTL : result:= ´WM_NEXTDLGCTL ´;
WM_PAINT : result:= ´WM_PAINT ´;
WM_PAINTCLIPBOARD : result:= ´WM_PAINTCLIPBOARD ´;
WM_PALETTECHANGED : result:= ´WM_PALETTECHANGED ´;
WM_PALETTEISCHANGING : result:= ´WM_PALETTEISCHANGING ´;
WM_PARENTNOTIFY : result:= ´WM_PARENTNOTIFY ´;
WM_PASTE : result:= ´WM_PASTE ´;
WM_POWER : result:= ´WM_POWER ´;
WM_QUERYDRAGICON : result:= ´WM_QUERYDRAGICON ´;
WM_QUERYENDSESSION : result:= ´WM_QUERYENDSESSION ´;
WM_QUERYNEWPALETTE : result:= ´WM_QUERYNEWPALETTE ´;
WM_QUERYOPEN : result:= ´WM_QUERYOPEN ´;
WM_QUEUESYNC : result:= ´WM_QUEUESYNC ´;
WM_QUIT : result:= ´WM_QUIT ´;
WM_RBUTTONDBLCLK : result:= ´WM_RBUTTONDBLCLK ´;
WM_RBUTTONDOWN : result:= ´WM_RBUTTONDOWN ´;
WM_RBUTTONUP : result:= ´WM_RBUTTONUP ´;
WM_RENDERALLFORMATS : result:= ´WM_RENDERALLFORMATS ´;
WM_RENDERFORMAT : result:= ´WM_RENDERFORMAT ´;
WM_SETCURSOR : result:= ´WM_SETCURSOR ´;
WM_SETFOCUS : result:= ´WM_SETFOCUS ´;
WM_SETFONT : result:= ´WM_SETFONT ´;
WM_SETREDRAW : result:= ´WM_SETREDRAW ´;
WM_SETTEXT : result:= ´WM_SETTEXT ´;
WM_SHOWWINDOW : result:= ´WM_SHOWWINDOW ´;
WM_SIZE : result:= ´WM_SIZE ´;
WM_SIZECLIPBOARD : result:= ´WM_SIZECLIPBOARD ´;
WM_SPOOLERSTATUS : result:= ´WM_SPOOLERSTATUS ´;
WM_SYSCHAR : result:= ´WM_SYSCHAR ´;
WM_SYSCOLORCHANGE : result:= ´WM_SYSCOLORCHANGE ´;
WM_SYSCOMMAND : result:= ´WM_SYSCOMMAND ´;
WM_SYSDEADCHAR : result:= ´WM_SYSDEADCHAR ´;
WM_SYSKEYDOWN : result:= ´WM_SYSKEYDOWN ´;
WM_SYSKEYUP : result:= ´WM_SYSKEYUP ´;
WM_SYSTEMERROR : result:= ´WM_SYSTEMERROR ´;
WM_TIMECHANGE : result:= ´WM_TIMECHANGE ´;
WM_TIMER : result:= ´WM_TIMER ´;
WM_UNDO : result:= ´WM_UNDO ´;
WM_USER : result:= ´WM_USER ´;
WM_VKEYTOITEM : result:= ´WM_VKEYTOITEM ´;
WM_VSCROLL : result:= ´WM_VSCROLL ´;
WM_VSCROLLCLIPBOARD : result:= ´WM_VSCROLLCLIPBOARD ´;
WM_WINDOWPOSCHANGED : result:= ´WM_WINDOWPOSCHANGED ´;
WM_WINDOWPOSCHANGING : result:= ´WM_WINDOWPOSCHANGING ´;
WM_WININICHANGE : result:= ´WM_WININICHANGE ´;
else result:= ´UNKNOWN: ´+inttostr(wm);
end;
end;
Converter mensagens do Windows em String. Enviada por Celso Rodrigues cdelphi@terra.com.br
function MsgToStr( WM : word ) : String;
// Converte uma mensagem do windows, que está sendo transitada no sistema, em String
// Use o criando mais duas rotinas e um Statusbar:
// procedure TForm1.AppOnMessage(var Msg: TMsg; var Handled: Boolean);
// Begin
// StatusBar1.SimpleText := MsgToStr(Msg.Message);
// End;
// procedure TForm1.FormCreate(Sender: TObject);
// begin
// Application.OnMessage := AppOnMessage;
// end;
begin
case WM of
WM_ACTIVATE : result:= ´WM_ACTIVATE ´;
WM_ACTIVATEAPP : result:= ´WM_ACTIVATEAPP ´;
WM_ASKCBFORMATNAME : result:= ´WM_ASKCBFORMATNAME ´;
WM_CANCELMODE : result:= ´WM_CANCELMODE ´;
WM_CHANGECBCHAIN : result:= ´WM_CHANGECBCHAIN ´;
WM_CHAR : result:= ´WM_CHAR ´;
WM_CHARTOITEM : result:= ´WM_CHARTOITEM ´;
WM_CHILDACTIVATE : result:= ´WM_CHILDACTIVATE ´;
WM_CLEAR : result:= ´WM_CLEAR ´;
WM_CLOSE : result:= ´WM_CLOSE ´;
WM_COMMAND : result:= ´WM_COMMAND ´;
WM_COMMNOTIFY : result:= ´WM_COMMNOTIFY ´;
WM_COMPACTING : result:= ´WM_COMPACTING ´;
WM_COMPAREITEM : result:= ´WM_COMPAREITEM ´;
WM_COPY : result:= ´WM_COPY ´;
WM_CREATE : result:= ´WM_CREATE ´;
WM_CTLCOLOR : result:= ´WM_CTLCOLOR ´;
WM_CUT : result:= ´WM_CUT ´;
WM_DDE_ACK : result:= ´WM_DDE_ACK ´;
WM_DDE_ADVISE : result:= ´WM_DDE_ADVISE ´;
WM_DDE_DATA : result:= ´WM_DDE_DATA ´;
WM_DDE_EXECUTE : result:= ´WM_DDE_EXECUTE ´;
WM_DDE_INITIATE : result:= ´WM_DDE_INITIATE ´;
WM_DDE_POKE : result:= ´WM_DDE_POKE ´;
WM_DDE_REQUEST : result:= ´WM_DDE_REQUEST ´;
WM_DDE_TERMINATE : result:= ´WM_DDE_TERMINATE ´;
WM_DDE_UNADVISE : result:= ´WM_DDE_UNADVISE ´;
WM_DEADCHAR : result:= ´WM_DEADCHAR ´;
WM_DELETEITEM : result:= ´WM_DELETEITEM ´;
WM_DESTROY : result:= ´WM_DESTROY ´;
WM_DESTROYCLIPBOARD : result:= ´WM_DESTROYCLIPBOARD ´;
WM_DEVMODECHANGE : result:= ´WM_DEVMODECHANGE ´;
WM_DRAWCLIPBOARD : result:= ´WM_DRAWCLIPBOARD ´;
WM_DRAWITEM : result:= ´WM_DRAWITEM ´;
WM_DROPFILES : result:= ´WM_DROPFILES ´;
WM_ENABLE : result:= ´WM_ENABLE ´;
WM_ENDSESSION : result:= ´WM_ENDSESSION ´;
WM_ENTERIDLE : result:= ´WM_ENTERIDLE ´;
WM_ERASEBKGND : result:= ´WM_ERASEBKGND ´;
WM_FONTCHANGE : result:= ´WM_FONTCHANGE ´;
WM_GETDLGCODE : result:= ´WM_GETDLGCODE ´;
WM_GETFONT : result:= ´WM_GETFONT ´;
WM_GETMINMAXINFO : result:= ´WM_GETMINMAXINFO ´;
WM_GETTEXT : result:= ´WM_GETTEXT ´;
WM_GETTEXTLENGTH : result:= ´WM_GETTEXTLENGTH ´;
WM_HSCROLL : result:= ´WM_HSCROLL ´;
WM_HSCROLLCLIPBOARD : result:= ´WM_HSCROLLCLIPBOARD ´;
WM_ICONERASEBKGND : result:= ´WM_ICONERASEBKGND ´;
WM_INITDIALOG : result:= ´WM_INITDIALOG ´;
WM_INITMENU : result:= ´WM_INITMENU ´;
WM_INITMENUPOPUP : result:= ´WM_INITMENUPOPUP ´;
WM_KEYDOWN : result:= ´WM_KEYDOWN ´;
WM_KEYUP : result:= ´WM_KEYUP ´;
WM_KILLFOCUS : result:= ´WM_KILLFOCUS ´;
WM_LBUTTONDBLCLK : result:= ´WM_LBUTTONDBLCLK ´;
WM_LBUTTONDOWN : result:= ´WM_LBUTTONDOWN ´;
WM_LBUTTONUP : result:= ´WM_LBUTTONUP ´;
WM_MBUTTONDBLCLK : result:= ´WM_MBUTTONDBLCLK ´;
WM_MBUTTONDOWN : result:= ´WM_MBUTTONDOWN ´;
WM_MBUTTONUP : result:= ´WM_MBUTTONUP ´;
WM_MDIACTIVATE : result:= ´WM_MDIACTIVATE ´;
WM_MDICASCADE : result:= ´WM_MDICASCADE ´;
WM_MDICREATE : result:= ´WM_MDICREATE ´;
WM_MDIDESTROY : result:= ´WM_MDIDESTROY ´;
WM_MDIGETACTIVE : result:= ´WM_MDIGETACTIVE ´;
WM_MDIICONARRANGE : result:= ´WM_MDIICONARRANGE ´;
WM_MDIMAXIMIZE : result:= ´WM_MDIMAXIMIZE ´;
WM_MDINEXT : result:= ´WM_MDINEXT ´;
WM_MDIRESTORE : result:= ´WM_MDIRESTORE ´;
WM_MDISETMENU : result:= ´WM_MDISETMENU ´;
WM_MDITILE : result:= ´WM_MDITILE ´;
WM_MEASUREITEM : result:= ´WM_MEASUREITEM ´;
WM_MENUCHAR : result:= ´WM_MENUCHAR ´;
WM_MENUSELECT : result:= ´WM_MENUSELECT ´;
WM_MOUSEACTIVATE : result:= ´WM_MOUSEACTIVATE ´;
WM_MOUSEMOVE : result:= ´WM_MOUSEMOVE ´;
WM_MOVE : result:= ´WM_MOVE ´;
WM_NCACTIVATE : result:= ´WM_NCACTIVATE ´;
WM_NCCALCSIZE : result:= ´WM_NCCALCSIZE ´;
WM_NCCREATE : result:= ´WM_NCCREATE ´;
WM_NCDESTROY : result:= ´WM_NCDESTROY ´;
WM_NCHITTEST : result:= ´WM_NCHITTEST ´;
WM_NCLBUTTONDBLCLK : result:= ´WM_NCLBUTTONDBLCLK ´;
WM_NCLBUTTONDOWN : result:= ´WM_NCLBUTTONDOWN ´;
WM_NCLBUTTONUP : result:= ´WM_NCLBUTTONUP ´;
WM_NCMBUTTONDBLCLK : result:= ´WM_NCMBUTTONDBLCLK ´;
WM_NCMBUTTONDOWN : result:= ´WM_NCMBUTTONDOWN ´;
WM_NCMBUTTONUP : result:= ´WM_NCMBUTTONUP ´;
WM_NCMOUSEMOVE : result:= ´WM_NCMOUSEMOVE ´;
WM_NCPAINT : result:= ´WM_NCPAINT ´;
WM_NCRBUTTONDBLCLK : result:= ´WM_NCRBUTTONDBLCLK ´;
WM_NCRBUTTONDOWN : result:= ´WM_NCRBUTTONDOWN ´;
WM_NCRBUTTONUP : result:= ´WM_NCRBUTTONUP ´;
WM_NEXTDLGCTL : result:= ´WM_NEXTDLGCTL ´;
WM_PAINT : result:= ´WM_PAINT ´;
WM_PAINTCLIPBOARD : result:= ´WM_PAINTCLIPBOARD ´;
WM_PALETTECHANGED : result:= ´WM_PALETTECHANGED ´;
WM_PALETTEISCHANGING : result:= ´WM_PALETTEISCHANGING ´;
WM_PARENTNOTIFY : result:= ´WM_PARENTNOTIFY ´;
WM_PASTE : result:= ´WM_PASTE ´;
WM_POWER : result:= ´WM_POWER ´;
WM_QUERYDRAGICON : result:= ´WM_QUERYDRAGICON ´;
WM_QUERYENDSESSION : result:= ´WM_QUERYENDSESSION ´;
WM_QUERYNEWPALETTE : result:= ´WM_QUERYNEWPALETTE ´;
WM_QUERYOPEN : result:= ´WM_QUERYOPEN ´;
WM_QUEUESYNC : result:= ´WM_QUEUESYNC ´;
WM_QUIT : result:= ´WM_QUIT ´;
WM_RBUTTONDBLCLK : result:= ´WM_RBUTTONDBLCLK ´;
WM_RBUTTONDOWN : result:= ´WM_RBUTTONDOWN ´;
WM_RBUTTONUP : result:= ´WM_RBUTTONUP ´;
WM_RENDERALLFORMATS : result:= ´WM_RENDERALLFORMATS ´;
WM_RENDERFORMAT : result:= ´WM_RENDERFORMAT ´;
WM_SETCURSOR : result:= ´WM_SETCURSOR ´;
WM_SETFOCUS : result:= ´WM_SETFOCUS ´;
WM_SETFONT : result:= ´WM_SETFONT ´;
WM_SETREDRAW : result:= ´WM_SETREDRAW ´;
WM_SETTEXT : result:= ´WM_SETTEXT ´;
WM_SHOWWINDOW : result:= ´WM_SHOWWINDOW ´;
WM_SIZE : result:= ´WM_SIZE ´;
WM_SIZECLIPBOARD : result:= ´WM_SIZECLIPBOARD ´;
WM_SPOOLERSTATUS : result:= ´WM_SPOOLERSTATUS ´;
WM_SYSCHAR : result:= ´WM_SYSCHAR ´;
WM_SYSCOLORCHANGE : result:= ´WM_SYSCOLORCHANGE ´;
WM_SYSCOMMAND : result:= ´WM_SYSCOMMAND ´;
WM_SYSDEADCHAR : result:= ´WM_SYSDEADCHAR ´;
WM_SYSKEYDOWN : result:= ´WM_SYSKEYDOWN ´;
WM_SYSKEYUP : result:= ´WM_SYSKEYUP ´;
WM_SYSTEMERROR : result:= ´WM_SYSTEMERROR ´;
WM_TIMECHANGE : result:= ´WM_TIMECHANGE ´;
WM_TIMER : result:= ´WM_TIMER ´;
WM_UNDO : result:= ´WM_UNDO ´;
WM_USER : result:= ´WM_USER ´;
WM_VKEYTOITEM : result:= ´WM_VKEYTOITEM ´;
WM_VSCROLL : result:= ´WM_VSCROLL ´;
WM_VSCROLLCLIPBOARD : result:= ´WM_VSCROLLCLIPBOARD ´;
WM_WINDOWPOSCHANGED : result:= ´WM_WINDOWPOSCHANGED ´;
WM_WINDOWPOSCHANGING : result:= ´WM_WINDOWPOSCHANGING ´;
WM_WININICHANGE : result:= ´WM_WININICHANGE ´;
else result:= ´UNKNOWN: ´+inttostr(wm);
end;
end;
GOSTEI 0
Anderson_blumenau
06/12/2003
[quote:d686d8814b=´Fábio Borges´]Olá Anderson_Blumenau eu acho que tu não entendeu. :roll: Eu quero impedir o desligamento e não desligar o micro entendeu? e sobre as messages se você conseguir poste aí que eu tbm estou interessado falow...[/quote:d686d8814b]
foi mal, viajei fora aquelas que voce mencionou eu nao conheco nem um outro meio
o nosso amigo fabio borges colocou uma lista boa das mensage do win
mas se voce quiser mais procure na Unit Messages,
valeu
foi mal, viajei fora aquelas que voce mencionou eu nao conheco nem um outro meio
o nosso amigo fabio borges colocou uma lista boa das mensage do win
mas se voce quiser mais procure na Unit Messages,
valeu
GOSTEI 0