PDA

View Full Version : سوال: با چه دستوری میشه از تو برنامه مون بفهمیم که نرم افزار خاصی رو سیستم نصب هست یا نه ؟



aftabeshargh
پنج شنبه 10 فروردین 1391, 21:42 عصر
سلام
دوستان چون از Export Report توی چاپ استفاده کردم و میخوام کاربر صفحه چاپ رو بفرسته تو word واسه همین میخوام که رو سیستم طرف word نصب باشه " هیچ الزامی نیست که word رو همراه نصب برنامه نصب کنم " فقط میخوام 1- با کد نویسی برنامه (مثلا توی لود یه فرم ) چک کنه که نرم افزار word رو سیستم نصب هست یا نه ، اگر نبود پیام بده که مثلا word2003 رو نصب کنید 2- ویا موقعی که دکمه Export Report رو زد برنامه تشخیص بده که اگر word 2003 نصب نیست به کاربر بگه که نصبش کنه (که شماره 1 و 2 مثل هم هستن:چشمک:)

خلاصه کلام : دستورات و کدنویسیش به چه صورته ؟

ROSTAM2
جمعه 11 فروردین 1391, 02:43 صبح
قاعدتا زمانی یک برنامه بصورت کامل نصب میشه اطلاعات حذف کردن اون در رجیستری ثبت می شه
برای همین می توان برای اطلاع یافتن از نصب آن در رجیستری به دنبال ID آن در قسمت حذف پکیج ها گشت
بالفرض مثال Microsoft SQL Server 2005 Express Edition (SQLEXPRESS) که GUID پکیج آن برابر است با {2AFFFDD7-ED85-4A90-8C52-5DA9EBDC9B8F}
که در آدرس زیر می باشد : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Uninstall
اگر با رجیستری کار کرده باشید می توانید از وجود این ID در زیر مجموعه آدرس مذکور اطلاع پیدا کنید
مثال:
My.Computer.Registry.LocalMachine.OpenSubkey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstal l",False).GetSubkeyNames()
این تابع مقدار برکشتی آرایه از نوع رشته ای دارد که می توانید به یک آرایه رشته ای داینامیک ارائه بدهید و از حلقه For...Next استفاده کرده و چک کنید ببینید Subkey با نام مذکور وجود دارد یا نه! که همان id باشد: {2AFFFDD7-ED85-4A90-8C52-5DA9EBDC9B8F}
این لزوما قراردادی نیست و می توان بعنوان ترفند ازآن یاد کرد