نمایش نتایج 1 تا 12 از 12

نام تاپیک: بدست آوردن لیست برنامه های نصب شده روی ویندوز

  1. #1

    بدست آوردن لیست برنامه های نصب شده روی ویندوز

    آقا باباک زحمت کشیده بودن و سورس یه برنامه رو گذاشته بودن که با کمک رجیستری لیست برنامه های نصب شده روی ویندوز رو می داد من خواستم یه کاری کنم که وقتی روی برنامه های مو جود تو اون لیست کلیک کردم برنامه باز بشه برای همین رفتم سراغ رجیستری و دیدم همون جا که اسم برنامه هست یه قسمتی هم هست به نام display icon که مسیر فایل exe اونجاست و تونستم یه برنامه بنویسم که اون مسیر رو بگیره ولی مشکل اینجاست که بعضی از برنامه ها اصلا یه همچین چیزی ندارن و بعضی ها شونم اصلا تو اون قسمت هیچ آدرسی برای فایل exe ندارن حالا از دوستان می خوام اگه اطلاعاتی در این زمینه دارن راهنمایی کنن و در ضمن بگن چطور و از کجا می شه شکل icon اون برنامه رو پیدا کرد .

  2. #2
    یه راه دیگه استفاده از مسیر Program Files هست

  3. #3
    راه حل اصولی استفاده از WMI است . کلاس Win32_Product دقیقا به همین منظور در نظر گرفته شده . MSDN رو ببین .
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  4. #4
    تا اونجایی که می دونم MSDN برای vb بود
    اگه دلفی هم MSDN داره بگید کجا باید برم .

  5. #5
    لیست UnInstall برنامه ها رو می تونید از رجیستری بخونید ...
    به مسیر زیر برید :
    'Software\Microsoft\Windows\CurrentVersion\Uninsta ll'
    توی این مسیر لیست برنامه ها هست ، هر برنامه ای یک مقدار String در رجیستری داره به نام UnInstallString که مسیر فایل UnInstall اون درش هست ، میتونید از اون بخونید ...
    با یه حلقه تمام UnInstallString های موجود در هر کلید در مسیر بالا رو بخونید و لیستتون رو درست کنید ...
    اگه کامپوننتهای JVCL رو نگاه کنید یه لیست باکس به همین منظور داره و اون از همین روش استفاده میکنه ...
    درضمن :
    تا اونجایی که می دونم MSDN برای vb بود
    اگه دلفی هم MSDN داره بگید کجا باید برم .
    MSDN تنها برای VB نیست ، از توابع و دستورات اون ( تقریبا ) در هر زبانی می تونید استفاده کنید ( از جمله دلفی ) ...

    موفق باشید ...

  6. #6
    آقا محمود
    در مسیری که شما معرفی کرده اید لیست برنامه ها رو می شه بدست آورد ولی در uninstall string فقط مسیر فایل uninstall اون برنامه هست و مسیر فایل exe تو اون مسیر نیست همونطور که گفتم در display icon تو همون مسیر ، مسیر فایل exe هست ولی همه برنامه ها اونو ندارن

  7. #7
    راه حل اصولی استفاده از WMI است . کلاس Win32_Product دقیقا به همین منظور در نظر گرفته شده
    قاعدتا باید Win32_Product این اطلاعات را بطور کامل برگردونه، اما در عمل فقط اطلاعات بعضی از نرم افزارهای نصب شده را برمی گردونه!
    خود Add\Remove Programs ویندوز هم از همون لیست Uninstall در رجیستری استفاده میکنه:
    How Add/Remove Programs get the size and other Information
    فایل های ضمیمه فایل های ضمیمه


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  8. #8
    قاعدتا باید Win32_Product این اطلاعات را بطور کامل برگردونه، اما در عمل فقط اطلاعات بعضی از نرم افزارهای نصب شده را برمی گردونه!
    خود Add\Remove Programs ویندوز هم از همون لیست Uninstall در رجیستری استفاده میکنه
    اون کلاس اطلاعات برنامه های "نصب شده" رو برمیگردونه __ نصب شده با اسکریپت MSI و سرویس Windows Installer __ و طبعا اگر "نصب" با چنین روشی انجام نشده باشه یا اسکریپت کامل نباشه این اطلاعات ناقصه . الان اینستالرهای متداول مثل نگارشهای جدید Wise و InstallAware و InstallShield همگی از MSI استفاده میکنن . در مورد بقیه اینستالرها نمیدونم ، اما طبعا بقول همون وبلاگ حدس زدنی و سعی و خطا و ...هست .
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  9. #9
    آقای کشاورز از شما ممنونم ولی قبلا عرض کردم که آقا بابک یه سورسی گذاشته بودن که لیست برنامه های نصب شده روی ویندوز را می داد اما من می خوام که وقتی روی اون برنامه ها کلیک کردم اون برنامه ها اجرا بشن و مسیر فایل uninstall اونا رو نمیخوام . می خوام یه چیزی مثل all programs درست کنم.

  10. #10
    آقای کشاورز از شما ممنونم ولی قبلا عرض کردم که آقا بابک یه سورسی گذاشته بودن که لیست برنامه های نصب شده روی ویندوز را می داد اما من می خوام که وقتی روی اون برنامه ها کلیک کردم اون برنامه ها اجرا بشن و مسیر فایل uninstall اونا رو نمیخوام . می خوام یه چیزی مثل all programs درست کنم.
    لیست و مسیر فایل اجرایی برنامه ها رو می تونید از مسیر زیر در رجیستری پیدا کنید :
    'Software\Microsoft\Windows\CurrentVersion\App Patchs'

    البته در این مسیر تنها فایلهای اجرایی نیستند ، بلکه DLL ها و Applet های کنترل پنل هم هستند ...

    موفق باشید ...

  11. #11
    من می خوام که وقتی روی اون برنامه ها کلیک کردم اون برنامه ها اجرا بشن و مسیر فایل uninstall اونا رو نمیخوام
    اون لینک وبلاگ رو هم دیدید؟


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  12. #12
    آقای کشاورز اگه درست فهمیده باشم ویندوز از روی مسیر فایل uninstall به مسیر فایل exe چون تا یه جاهایی به اون مسیر شبیه ولی با توجه به گفته های این وبلاگ و با توجه به پست آخر آقا محمود فکر کنم بهتره apppath اون عملیاتی رو که در وب لاگ گفته انجام بدیم یعنی در apppath به دنبال اسامی مشابه با اسامیی که در Software\Microsoft\Windows\CurrentVersion\Uninstal l\
    پیدا کردیم بگردیم . چون فکر کنم بعضی از برنامه ها هم ممکن فایل uninstall نداشته باشن

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •