调用关机对话框 delphi

以前调用关机对话框时,一般有两种方法,一种是利用shell的com对象,另一种是声明这个API,这个api是以序号导出的,delphi并没有声明,要自己写.

今天发现的方法如下:

查找桌面句柄

标题为Program Manager

类名为Progman 或者为Shell_TrayWnd

向这个窗口发送WM_Close消息就会出现关机对话框.

procedure TForm1.Button1Click(Sender: TObject);

var MyWnd:hwnd;

begin

mywnd:=findwindow('Progman','Program Manager');

PostMessage(MyWnd,WM_Close,0,0);

end;