result := False;
OpenProcessToken (GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token);
TP.PrivilegeCount := 1;
if LookupPrivilegeValue (nil, PChar (sPrivilegeName), TP.Privileges[0].LUID) then
begin
if bEnabled then
TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED
else
TP.Privileges[0].Attributes := 0;
dwRetLen := 0;
result := AdjustTokenPrivileges (Token, False, TP, SizeOf (TPPrev), TPPrev,
dwRetLen)
end;
CloseHandle (Token)
end;
function WinExit1 (iFlags: integer) : Boolean;
begin
result := true;
if SetPrivilege1 (‘SeShutdownPrivilege’, true) then
[۱۰] begin
if (not ExitWindowsEx (iFlags, 0)) then
begin
result := False
end;
SetPrivilege1 (‘SeShutdownPrivilege’, False)
end
else
begin
result := False
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// ۰= Logoff
// ۱= Shutdown
WinExit1(1);
end;
نمایش کنترل پنل :
کد:
ShellExecute(Handle,’Open’,’control’,nil,nil,SW_SHOWNORMAL);
البته ابتدا یونیت shellapiرا به usesاضافه کنید.
باز شدن سی دی رام :
کد:
mciSendString(‘Set cdaudio door open wait’,nil,0,handle);
بسته شدن :کد mciSendString(‘Set cdaudio door Closed wait’,nil,0,handle);
۲-۳ بلوک محیطی فرایند[۱۱]۱
در محاسبه، بلوک محیطی فرایند یک ساختار دادهای در Win32 است. این یک ساختار دادهای مبهم است که با سیستم عامل بطور داخلی استفاده می شود؛ بیشتر آن زمینه ها برای استفاده با هر چیزی غیر از سیستم عامل مورد توجه نیستند. مایکروسافت میگوید، در مجموعه اسناد MSDN خود – که تنها زمینههای اندکی را مستند میکند – ساختار «ممکن است در نسخههای آینده ویندوز تغییر کند». بلوک محیطی فرایند حاوی ساختارهای دادههایی است که در طی تمام فرایند بکار برده میشود، شامل مفهوم جهانی، پارامترهای شروع، ساختارهای دادهای برای بارگذاری تصویر برنامه، نشانی براساس تصویر برنامه و اهداف هماهنگ سازی استفاده شده برای مهیا کردن ممانعت متقابل برای ساختارهای دادهای. بلوک محیطی فرایند بطور نزدیکی در ارتباط با حالت اصلی ساختارهای دادهای EPROCESS است، همانند ساختارهای دادهای پیش فرایندی مدیریت شده با فضای نشانی زیرمجموعه فراینده سیستم زمان اجرای مشتری خدمتگذاراست. اگرچه، (همانند ساختارهای داده CSRSS) بلوک محیطی فرایند یک ساختار داده حالت اصلی نیست. این در فضای نشانی حالت کاربردی فرایند ساکن است که مرتبط با آن است. به این دلیل است که برای استفاده با کد حالت کاربردی در مجموعه برنامههای سیستم عامل طراحی شده است، مانند NTDLL، که خارج از حالت اصلی اجرا میشود، مانند کد برای بارگذاری تصویر برنامه و مدیر مکانهای ذخیره.
( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
در WinDbg، فرمانی که از محتوای یک بلوک محیطی فرایند نسخه برداری میکند فرمان!بلوک محیطی فرایند است، که نشانی بلوک محیطی فرایند را در فضای نشانی کاربرد فرایند میگذارد. آن اطلاعات، توسط فرمان! بلوک محیطی فرایند گرفته میشود، که اطلاعات را از ساختار داده EPROCESS نمایش میدهد، یکی از آن زمینهها نشانی بلوک محیطی فرایند است.