PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقاله خاموش کردن يک کامپيوتر در شبکه



آبجی
19th April 2010, 09:27 PM
خاموش کردن يک کامپيوتر در شبکه
بوسيله دو تابع زير شما ميتونيد يک کامپيوتر در شبکه خاموش کنيد. يا به عبارت ديگه خاموش کردن يک کامپيوتر با اتصال در شبکه. تابع shut براي خاموش کردن و تابع abortshut براي لغو فرمان خاموش کردن. در هر دو تابع پارامتر System نام کامپيوتري در شبکه است که مي خواهيد خاموش کنيد.


Code:

const
SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
var
hdlg: DWORD = 0;

procedure shut(system, nachricht: string; force, reboot: Boolean; countdown: Integer);
var
otoken, hToken: THandle;
tp: TTokenPrivileges;
h: DWORD;
begin
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
otoken := htoken;
LookupPrivilegeValue(nil, SE_SHUTDOWN_NAME, tp.Privileges[0].luid);
tp.privilegecount := 1;
tp.privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
h := 0;
AdjustTokenPrivileges(hToken, False, tp, 0, PTokenPrivileges(nil)^, h);
InitiateSystemShutdown(PChar(system), PChar(nachricht), countdown, force, reboot);
tp.privilegecount := 1;
tp.privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
h := 0;
AdjustTokenPrivileges(oToken, False, tp, 0, PTokenPrivileges(nil)^, h);
CloseHandle(hToken);
end;

procedure abortshut(system: string);
var
hToken: THandle;
tp: TTokenPrivileges;
h: DWORD;
begin
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
LookupPrivilegeValue(PChar(system), SE_SHUTDOWN_NAME, tp.Privileges[0].luid);
tp.privilegecount := 1;
tp.privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
h := 0;
AdjustTokenPrivileges(hToken, False, tp, 0, PTokenPrivileges(nil)^, h);
CloseHandle(hToken);
abortSystemShutdown(PChar(system));
end;

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد