چهارشنبه, ۲۶ دی, ۱۴۰۳ / 15 January, 2025
مجله ویستا

ترفندهای برنامه نویسی


ترفندهای برنامه نویسی

در ویندوز تابعی به نامSystemParametersInfo وجود دارد که توسط آن می توان به تنظیمات ویندوز دسترسی خواندنی یا نوشتنی داشت

● ترفند:

۱) shutdown کردن و شروع مجدد ویندوز

۲) غیرفعال کردن کلیدهای alt+ctrl+del

▪ سکو:win۹x,winNT,winME,win۲۰۰۰

▪ زبان:تمام زبان‌های کاربرد نویسی تحت ویندوز

۱) ترفند اول طریقه shutdow کردن و restart ویندوز توسط برنامه،

۲) ترفند دوم طریقه غیر فعال کردن کلیدهای alt+ctrl+del در برنامه است.

● Shut down کردن ویندوز

توسط تابع زیر می‌توان از طریق برنامه،ویندوز را shutdown یا restart کرد:

BOOL Exitwindows(EX UNIT uFlags,DWORD dwReserved)

که پارامتر اول،مشخص کننده عملیات موردنظر می‌باشد،و پارامتر دوم برای کاربردهای آنی در نظر گرفته شده و باید مقدار آن صفر باشد.

برای shutdown کردن ویندوز باید تابع فوق را به این صورت فراخوانی کنیم:

ExitwindowdsEX(EWX-SHUTDOWN)

و برای شروع مجدد ویندوز به صورت زیر:

ExitwindowdsEX(EWX-REBOOT)

(توجه:در ویندوز NT و۲۰۰۰ پروسسی که این تابع را فراخوانی می‌کند باید دسترسی SESHUTDOWNNAME داشته باشد.)

● غیرفعال کردن کلیدهای alt+ctrl+del

در ویندوز تابعی به نامSystemParametersInfo وجود دارد که توسط آن می‌توان به تنظیمات ویندوز دسترسی خواندنی یا نوشتنی داشت.روشی که در ادامه می‌آید در هیچ یک از مستندات شرکت مایکروسافت موجود نیست،اما جوابگوی نیاز ما خواهد بود.

BOOL SystemParametersInfo(UNIT uAction,UNIT uParam,PVOID pvParam,UNIT fWinlin)

پارامتر اول،نوع عملیات مورد نظر می‌باشد.پارامتر دوم و سوم به عملیات تعیین شده توسط اولین پارامتر بستگی دارند،و پارامتر چهارم هم تعیین می‌کند که آیا می‌خواهیم تغییرات اعمال شده در تنظیمات ویندوز در Profile ثبت شود و به برنامه‌های در حال اجرا ابلاغ گردد یا نه.

عملیاتی که این تابع انجام می‌دهد بسیار زیاد است و توسط آن می‌توان بسیاری از تنظیمات ظاهری ویندوز را مانند سرعت حرکت موس یا فاصله بین Icon های روی Desktop از طریق برنامه تغییر داد.

برای غیر فعال کردن کلیدهای alt+ctrl+del ما تابع فوق را به صورت زیر فراخوانی می‌نماییم:

SystemParametersInfo(SPISETSCREENSAVERRUNNING,۱,NULL,۰)

و البته در پایان هم برای غیر فعال کردن مجدد این کلیدها باید تابع مورد بحث را با پارامترهای زیر فراخوانی کنیم:

SystemParametersInfo(SPI-SETSCREENSAVERRUNNING,۱,NULL,۰)

در واقع با صدازدن این تابع،ویندوز تصور می‌کند که برنامه محافظ صفحه نمایش(Screen Saver) در حال اجراست و از فشرده شدن کلیدهای alt+ctrl+del صرفنظر می‌کند.نکته جالب این‌که علاوه بر غیر فعال شدن alt+ctrl+del ترکیب alt+tab هم که مربوط به سوییچ کردن بین task هاست،غیرفعال می‌گردد.به این ترتیب این ترفند می‌تواند در مواردی که می‌خواهید از زدن alt+tab و تغییر task نیز جلوگیری کنید مفید واقع شود.

عنوان فایل
ترفندهای برنامه‌نویسی application/pdf
ترفندهای برنامه‌نويسی.pdf
59 KB
دانلود