PDA

View Full Version : جلوگيري از بستن برنامه در ويندوز 2000



seyed_farid
چهارشنبه 16 دی 1388, 19:24 عصر
من با دستورهاي زير ميتونم شات دان شدن ويندوز را تو XP بفهمم و با برنامم جلوي اونو بگيرم ولي تو ويندوز 2000 با زدن كليد پاور سيستم فوراً شات دان ميشه و با اين دستورا نميشه جلوشو گرفت.
كسي ميتونه منو راهنمائي كنه كه تو 2000 چطور جلوي شات دان شدن سيستم رو بگيرم؟


unit Unit1;

interface

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

type
TForm1 = class(TForm)
private
{ Private declarations }
procedure WMQueryEndSession
(var Msg : TWMQueryEndSession) ;
message WM_QueryEndSession;

Procedure WMEndSession
(var Msg : TWMEndSession) ;
message WM_ENDSESSION;

public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

procedure TForm1.WMQueryEndSession
(var Msg : TWMQueryEndSession) ;
begin
if MessageDlg('Close Windows ?',
mtConfirmation,
[mbYes,mbNo], 0) = mrNo then
Msg.Result := 0
else
Msg.Result := 1 ;
end;

procedure TForm1.WMEndSession
(var Msg : TWMEndSession) ;
begin
if Msg.EndSession = TRUE then
ShowMessage('Windows is shutting down ' + #10#13
+ 'at ' + FormatDateTime('c', Now)) ;
inherited;
end;

{$R *.dfm}

end.

vcldeveloper
چهارشنبه 16 دی 1388, 21:41 عصر
جلوی Shutdown شدن سیستم رو بگیرید که چی بشه؟! ویندوز میتونه یک Process رو مجبور به بسته شدن کنه. اگر برنامه جواب درست و حسابی به درخواست ویندوز نده، ویندوز به زور برنامه رو میبنده، و Shutdown رو انجام میده.

seyed_farid
پنج شنبه 17 دی 1388, 02:08 صبح
نه ديگه...
با اين دستوراتي نوشتم وقتي XP را ميخواهي شات دان كني اول از طريق اين برنامه پيام ظاهر ميشه و در صورت تائيد شما شات دان انجام ميشه وگرنه شات دان رو بيخيال ميشه.

Hamid.Kad
پنج شنبه 17 دی 1388, 17:39 عصر
من منظور شما رو متوجه شدم. ولی یادتون باشه که اگه ویندوز بخواد همچین کاری بکنه شما با هیچ دستوری نمیتونید جلوش رو بگیرید.