الموضوع السابق   الموضوع التالي 

كيف أنشئ اختصاراً؟

Procedure: CreateShortcut

الغرض
إنشاء اختصار (Shortcut) لملف أو مجلد في موقع محدد.


الصيغة

procedure CreateShortcut(TargetName, ShortcutName, ShortcutLocation: string; TargetParams: string = ''; IconFile: string = ''; IconIndex: Integer = -1; WinState: Integer = SW_SHOWDEFAULT);


الوسائط (Parameters)

TargetName مسار الملف أو المجلد المطلوب إنشاء اختصار له. هذا المسار يجب أن يكون مساراً كاملاً (محرك الأقراص و المسار و اسم المجلد أو اسم الملف و الامتداد) أو مساراً نسبياً متفرعاً من المجلد الحالي حيث يتم تشغيل البرنامج الذي يستعمل هذا الإجراء.
ShortcutName اسم الاختصار.
ShortcutLocation موقع إنشاء الاختصار. يجب أن يكون مساراً كاملاً، أو إحدى الكلمات التالية التي تحدد أحد المجلدات الخاص:
DESKTOP
أو desktop
سطح المكتب
MYDOCUMENTS
أو mydocuments
المستندات
STARTMENU
أو startmenu
قائمة ابدأ
STARTUP
أو startup
قائمة بدء التشغيل
PROGRAMS
أو programs
قائمة البرامج
FAVORITES
أو favorites
المفضلة
TargetParams بارامتر اختياري يحدد بارامترات سطر الأوامر للملف الهدف. بعض الملفات التنفيذية تحتاج إلى ذلك.
IconFile بارامتر اختياري يحدد مسار الملف المحتوي على الرمز الذي سيظهر به الاختصار. إذا كان الملف الهدف ملفاً تنفيذياً فإنه يمكن استخدامه هو نفسه للحصول على رمز. إذا أهملت هذا البارامتر فإن النظام Windows سيستعمل الرمز الافتراضي حسب نوع الملف. إذا استعملت هذا البارامتر فيجب تحديد قيمة للبارامتر IconIndex غير القيمة الافتراضية (-1).
IconIndex بارامتر اختياري يحدد رقم الرمز داخل الملف المحدد في البارامتر IconFile. عادة يكون صفراً (0) الذي يعني أول رمز. إذا أهملت هذا البارامتر فإن الإجراء سيهمل أيضاً البارامتر IconFile حتى و إن أعطيته قيمة. كذلك يتم إهمال هذا البارامتر إذا كانت قيمة البارامتر IconFile هي القيمة الافتراضية (نص فارغ).
WinState بارامتر اختياري يحدد حجم النافذة عند فتح المجلد أو تشغيل البرنامج أو فتح الملف الذي يشير إليه الاختصار. القيمة الافتراضية هي الثابت SW_SHOWDEFAULT التي تعرض النافذة في حجمها الافتراضي. لتحديد قيم أخرى استعمل الثوابت التي تبدأ بالمقطع SW_ و المعرفة في الوحدة البرمجية Windows.pas في دلفي.

الشرح
يقوم هذا الإجراء بإنشاء اختصار (Shortcut) لملف أو مجلد في موقع معين. لا يقوم الإجراء بالتحقق من وجود الهدف المحدد في البارامتر TargetName (ربما تريد إنشاء اختصار لملف أو مجلد سيتم إنشاؤه لاحقاً في برنامجك).
من جهة أخرى يقوم البرنامج بالتحقق من وجود المسار الذي يشير إلى موقع الاختصار (ShortcutLocation).

ملاحظات
1. لا يقوم الإجراء بعرض أية رسائل، سواءً أنجح في إنشاء الاختصار أم لا.
2. إذا أردت وضع اختصار في أحد المجلدات الخاصة الأخرى غير المذكورة في الجدول أعلاه فاستعمل الدالة GetSpecialFolderPath أو الدالة XPGetSpecialFolderPath للحصول على المسار الكامل لذلك المجلد و استعمله مع الدالة CreateShortcut، كما في المثال التالي الذي ينشئ اختصاراً لمجلد المستندات في المجلد SendTo الذي يحتوي على البنود التي تظهر تحت الأمر "إرسال إلى":

var
    SendToDir: string;
.
.
.
    SendToDir := GetSpecialFolderPath(0,
        SPL_FOLDER_SENDTO);
    CreateShortcut('C:\My Documents',
        'المستندات', SendToDir);
.
.
.


 أعلى الصفحة
 الموضوع السابق   الموضوع التالي