可能是你没有先声明吧。给你个例看看<br> 用户是否可以关闭操作系统是通过对WM_QueryEndSession的处理来实现的,为此首先需要在程序中添加WM_QueryEndSession消息处理的声明:<br><br><br><br> procedure QueryEndSession(var Msg:TMessage);Message WM_QueryEndSession; <br><br><br>它的响应代码如下:<br><br><br><br> procedure TForm1.QueryEndSession(var Msg:TMessage);<br><br> begin<br> Msg.Result:=0;<br> end; <br><br> 当用户关闭操作系统时,操作系统会发布一个WM_QueryEndSession消息,这时就会激活本实例程序中的QueryEndSession过程,程序通过设置消息的返回值为0,就会禁止用户关闭操作系统,反之如果设置消息的返回值为1,就会允许用户关闭操作系统。<br><br><br><br><br><br> 程序代码如下:<br>unit Unit1;<br> interface<br><br>uses<br><br><br><br>Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs;<br><br><br><br>type<br>TForm1 = class(TForm)<br>private<br>{ Private declarations }<br><br>procedure QueryEndSession(var Msg:TMessage);Message WM_QueryEndSession;<br><br>public<br><br>{ Public declarations }<br><br><br><br>end;<br>var<br><br><br><br>Form1: TForm1;<br><br><br><br>implementation<br><br><br><br>{$R *.dfm}<br><br><br><br>procedure TForm1.QueryEndSession(var Msg:TMessage);<br><br><begin<br><br>Msg.Result:=0;<br><br>end;<br><br> end. <br><br> 保存文件,然后按F9键运行程序。只要本程序在正常运行,用户就无法关闭操作系统