الاتصال بنا



النتائج 1 إلى 2 من 2

الموضوع: يا خبراء انا عطشان حموت شوفولي المشكلة دي



  1. عندي برنامج جاهز تماما وعملت له برنامج اعداد بنفسي غير اللجاي مع الفيسوال بيسك وبقت امامي عقبة واحدة هي انني ما استطعت اعمل له Shot Cut Link في قائمة ابدأ ، كيف اعمل العملة دي - انا اعرف انني باستخدم API لكن اي سطر بقوم بالعملية دي .
    اذا ما عرفت المشكلة - لو سمحت - ممكن تتفضل توجهها لخبير بتعرف ( انا مبتدئ ولا اعرف احدا )
    مشكور ومأجور على مساعدتك

    ------------------
    ابقت بني الاصفر الممراض كاسْمِهمُ
    صفر الوجوه وجلت اوجه العرب



    [b]<small><small>[ تم تعديل الموضوع بواسطة &nbsp; الطيار الصغير &nbsp; يوم &nbsp; 12-04-2000]





    الطيار الصغير غير متواجد حالياً


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Jan 2000
    المشاركات
    36


    السلام عليكم ورحمة الله وبركاته

    لا أعرف في البيسك شيئا، ولكنك "حتموت" لو لم تعرف الحل ولهذا فسأحاول المساعدة ولو في لغة أخرى ... موافق ... طيب .

    لعمل Shortcut link تحتاج إلى التخاطب مع النظام بطريقة OLE COM . للقيام بذلك يلزمك القيام بالخطوات التالية :

    1- إعداد طريقة OLE COM للربط بالوظيفة التالية :
    CoInitialize
    2- الوصول إلى وظائف "روابط بيئة النظام" Shell Links عن طريق إستخدام الكائن IShellLink .
    3- هذا الكائن يوفر لك وظائف منها (ليس كلها) :
    لتحديد المتغيرات التي ستمرر لذلك البرنامج (الذي تصنع وصلة ربط له) SetArguments
    لتحديد تعريف لوصلة الربط هذه (يظهر هذا التعريف حين يتم عرض هذه الوصلة في متصفح الملفات) SetDescription
    لتحديد الإيقونة التي ستخدم لعرض هذه الوصلة (إسم الملف التشغيلي الذي يحتوي هذه الأيقونه و رقمها في ذلك الملف) SetIconLocation
    لتحديد إسم الملف (كاملا) الذي تريد أن تصنع له وصلة ربط SetPath
    4- بعد هذه الخطوة تكون وصلة الربط تلك قد أنشأت في الذاكرة ، لخزنها (كملف) في القرص إستخدم الكائن IPersistFile . هذا الكائن يوفر لك وظائف أهمها :
    Save
    حيث تحدد الإسم الذي ستحفظ به هذه الوصلة Shortlink .
    5- إطلاق الإرتباط الذي أنشأته في الخطوة 1 ـ OLE COM بالوظيفة التاليه :
    CoUninitialize

    المثال التالي (بلغة سي) يوضح الخطوات السابقة :

    int CreateShortcut (char *pszFilePathname)
    {
    HRESULT hres;
    IShellLink* psl;
    IPersistFile* ppf;

    hres = CoInitialize(NULL);

    // Create a shell link object
    hres = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,&IID_IShellLink, (PVOID *) &psl);

    if (SUCCEEDED(hres)) {
    psl-&gt;lpVtbl-&gt;SetPath(psl, pszFilePathname);
    psl-&gt;lpVtbl-&gt;SetArguments(psl, "arg1 arg2 arg3");
    psl-&gt;lpVtbl-&gt;SetDescription(psl,"This is myShortCut");
    nIconIndex = 1; //Use first icon in the file (assuming it is an EXE file)
    psl-&gt;lpVtbl-&gt;SetIconLocation(psl,pszFilePathname, nIconIndex);

    hres = psl-&gt;lpVtbl-&gt;QueryInterface(psl,&IID_IPersistFile, (PVOID *) &ppf);
    if (SUCCEEDED(hres)) {
    hres = ppf-&gt;lpVtbl-&gt;Save(ppf,pszLinkFilePathname, TRUE);
    ppf-&gt;lpVtbl-&gt;Release(ppf);
    }
    psl-&gt;lpVtbl-&gt;Release(psl);
    }
    CoUninitialize();
    }


    دمتم بخير






    xeerh غير متواجد حالياً





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
0