امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
چطور میتونم مسیر نصب برنامه ای خاص رو پیدا کنم؟
نویسنده پیام
NabiKAZ آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 520
موضوع‌ها: 48
تاریخ عضویت: اسفند ۱۳۸۲

تشکرها : 6
( 60 تشکر در 46 ارسال )
ارسال: #1
چطور میتونم مسیر نصب برنامه ای خاص رو پیدا کنم؟
سلام
چطور میتونم مسیر نصب برنامه ای خاص رو پیدا کنم؟
مثلا یه سری مشخصه های ثابت برنامه از قبیل اسم فایل اجرایی برنامه یا تایتلش یا هر چیز دیگه ای رو بگیره و تشخیص بده که اگر برنامه روی سیستم نصب است مسیر اون چیه !
یه چیزایی از رجستر پیدا کردم ولی یه چیز مطمئن میخوام مثه یه api یا هر چیزی.
فکر میکنم کامران بود میخواست برنامه مشابه اینستال شیلد بسازه، شاید اون بتونه کمک کنه.
ممنون
نبی

۰۳-بهمن-۱۳۸۴, ۱۸:۵۴:۴۷
وب سایت ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #2
 
فكرش رو بكن وقتي يه برنامه هيچ استانداردي رو رعايت نكنه
و تو جاهاي مشخص ريجستري مسيرش رو نزاره و نصب درست
و حسابي هم نداشته باشه قاعدتا نمي شه مسيرش رو پيدا كرد
مگر با سرچ كه اونم قطعي نيست

مگر اينكه بخواي مسير برنامه هاي اجرا شده كه هم اكنون باز است
رو پيدا كني كه اون يه بحث ديگه اي هست ( من بلد نيستم )
۰۳-بهمن-۱۳۸۴, ۱۹:۳۲:۵۴
ارسال‌ها
پاسخ
NabiKAZ آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 520
موضوع‌ها: 48
تاریخ عضویت: اسفند ۱۳۸۲

تشکرها : 6
( 60 تشکر در 46 ارسال )
ارسال: #3
 
سلام
از پاسختون ممنونم .
اما اگه برنامه هاي خاصي مد نظر باشه چي .
مثلا ياهو ميسنجر !

ولي من فكر ميكنم راهي باشه. مثلا اگه به ليست برنامه هاي موجود در add/remove program دسترسي داشته باشيم شايد بشه كاري كرد...


نبي

۰۴-بهمن-۱۳۸۴, ۰۰:۳۸:۱۳
وب سایت ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #4
 
ياهو كه خيلي خوب و استاندارد هست
اين دو سورس روبرسي كن قطعا به جواب مي رسي
يه ليست باكس بنداز رو فرم ؛ اينها رو هم كپي كن ؛ كارت حله :wink:

سورس 1 :

کد:
Private Const ERROR_NO_MORE_ITEMS = 259&
Private Const ERROR_SUCCESS = 0&

Private Const HKEY_CLASSES_ROOT = &H80000000
Private Const HKEY_CURRENT_CONFIG = &H80000005
Private Const HKEY_CURRENT_USER = &H80000001
Private Const HKEY_DYN_DATA = &H80000006
Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Const HKEY_USERS = &H80000003

Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, lpcbClass As Long, lpftLastWriteTime As Any) As Long


Private Sub Form_Load()
  Dim hKey As Long, Num As Long
  Dim strName As String
  Dim Retval As Long
    
  Const Buffer As Long = 255
  Num = 0
  Retval = Buffer
  If RegOpenKey(HKEY_LOCAL_MACHINE, "Software", hKey) = 0 Then
     strName = Space(Buffer)
     While RegEnumKeyEx(hKey, Num, strName, Retval, ByVal 0&, vbNullString, ByVal 0&, ByVal 0&) <> ERROR_NO_MORE_ITEMS
        List1.AddItem Left$(strName, Retval)
        Num = Num + 1
        strName = Space(Buffer)
        Retval = Buffer
     Wend
     RegCloseKey hKey
  Else
     List1.AddItem "Error"
  End If
End Sub

سورس 2 :

کد:
Private Const ERROR_SUCCESS = 0&
Private Const ERROR_NO_MORE_ITEMS = 259&
Private Const HKEY_LOCAL_MACHINE = &H80000002

Private Const REG_BINARY = 3
Private Const REG_DWORD = 4
Private Const REG_EXPAND_SZ = 2
Private Const REG_SZ = 1

Private Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Private Sub Form_Load()
  Dim hKey As Long, num As Long, strName As String
  Dim strData As String, Retval As Long, RetvalData As Long

  Const Buffer As Long = 255
  Me.AutoRedraw = True
  num = 0
  strName = Space(Buffer)
  strData = Space(Buffer)
  Retval = Buffer
  RetvalData = Buffer
  If RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Yahoo! Messenger", hKey) = 0 Then
    While RegEnumValue(hKey, num, strName, Retval, 0, ByVal 0&, ByVal strData, RetvalData) <> ERROR_NO_MORE_ITEMS
       If RetvalData > 0 Then
          List1.AddItem Left$(strName, Retval) + "  =  " + Left$(strData, RetvalData - 1)
       End If
       num = num + 1
       strName = Space(Buffer)
       strData = Space(Buffer)
       Retval = Buffer
       RetvalData = Buffer
    Wend
    RegCloseKey hKey
  Else
    List1.AddItem "Error"
  End If
End Sub

اگه حال نداشتي اينارو تو وي بي وارد كني بگو برات پروژه هاش رو آپلود كنم (‌چون من هم خودم اگه كسي بهم كد بده تمبليم مي شه بشينم سه ساعت تو وي بي واردش كنم ) Biggrin
۰۴-بهمن-۱۳۸۴, ۰۱:۴۷:۱۶
ارسال‌ها
پاسخ
NabiKAZ آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 520
موضوع‌ها: 48
تاریخ عضویت: اسفند ۱۳۸۲

تشکرها : 6
( 60 تشکر در 46 ارسال )
ارسال: #5
 
سلام
اين مسير ها رو تو رجستر ديده بودم . پس براي ديگر برنامه ها هم بايد از همين روش استفاده كرد. ميخواستم مطمئن بشم راه استانداردي وجود نداره.

بسيار خب !
ار راهنمايي شما دوست عزيز بسيار سپاسگزارم .

نبي

۰۴-بهمن-۱۳۸۴, ۰۲:۴۵:۰۸
وب سایت ارسال‌ها
پاسخ
Amin4u آفلاین
كاربر تک ستاره
*

ارسال‌ها: 59
موضوع‌ها: 6
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 0
( 5 تشکر در 4 ارسال )
ارسال: #6
 
سلام دوستان.
چه طوري ميشه كه مثلآ از همين مسيرهاي نرم افزارهاي نسب شده
يه وايت ليست درست كرد كه سيستم فقط نرم افزارهايي رو اجرا كنه كه
آدرسشون در اون وايت ليست هست و غير از اون هيچ فايل ديگه اي رو اجرا نكنه.

مثلآ تو وايت ليست آدرس ياهو مسنجرو بديم يا اسمشو سيستم فقط بتونه نرم افزار
ياهو مسنجرو باز كنه و به غير از اون نرم افزار ديگه اي باز نشه!

خيلي وقته دارم دنبال يه راه حل ميگردم ولي تاحالا هيچي دست گيرم نشده :cry:

كسي ميتونه كمكم كنه؟ :roll:
۰۴-بهمن-۱۳۸۴, ۱۰:۴۰:۰۸
وب سایت ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #7
 
نبي جان قابلي نداشت
نمي دونم مشكلت حل شد يا نه ؟

آقا امين من منظورت رو نفهميدم
۰۴-بهمن-۱۳۸۴, ۱۷:۲۵:۰۵
ارسال‌ها
پاسخ
Amin4u آفلاین
كاربر تک ستاره
*

ارسال‌ها: 59
موضوع‌ها: 6
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 0
( 5 تشکر در 4 ارسال )
ارسال: #8
 
من تصميم دارم با وي بي نرم افزاري بنويسم كه تا وقتي در حال اجراست
سيستم فقط فايلهايي رو اجرا كنه كه تو سيستم نرم افزار تعريف شده
و به غير از اونها هيچ فايل اجرايي ديگه اي رو سيتم اجرا نكنه!

در واقع مي خوام يه ليستي ايجاد كنم كه توش آدرس برنامه ها داده ميشه و سيستم عاملو وادار ميكنه كه فقط نرم افزارهايي رو اجرا كنه كه آدرسشون توي اين ليست هست و به غير از اونا اجازه نده برنامه ي ديگه اي رو اجرا كنه!

توي اين وايت ليست به عنوان مثال آدرس فايل ويژوال بيسيكو من وارد ميكنم
به عنوان مثال:

D:\Program Files\Microsoft Visual Studio\VB98\VB6.EXE

حالا ميخوام سيستم فقط بتونه فايل ويژوال بيسيك رو كه آدرسشو بهش دادم يا نرم افزارهاي ديگه رو كه آدرسشونو بهش مي دم اجازه داشته باشه اجرا كنه مثلآ اگه بخوام فتوشاپ يا حتي ماشين حساب ويندوز رو باز كنم نبايد بزاره اين كا رو بكنم!
(چون آدرسشون توي ليست من نيست)

منظورمو فهميدي؟ :?:
(آخرین ویرایش در این ارسال: ۰۴-بهمن-۱۳۸۴, ۱۹:۲۹:۴۳، توسط Amin4u.)
۰۴-بهمن-۱۳۸۴, ۱۸:۴۳:۳۷
وب سایت ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #9
 
آره خيلي خوبم فهميدم

اين قضيه نياز داره كه يا بياي و كنترل اجراي برنامه ها رو به دست بگيري و اگه برنامه
اجرا شده با نام هاي مجاز برنامه ها يكي نبود اجاز ه باز شدن پيدا نكند
مثل زون الارم كه قبل از اجراي هر برنامه اي سوال براي اجازه كار كردن مي پرسه

يا

اگه بلد نيستي به طور مسخره اي پروسس ها رو با يك تايمر با مقدار خيلي كم چك كني
و اگه نامه پروسس خارج از نام برنامه هاي اجازه داده شده بود ان را ببندي

كه ما الان بايد روي گزينه 1 كار كنيم
اتفاقا موضوع بسيار جالبي هست و خودمم خيلي خوشحال مي شم اگه جوابش رو پيدا
كنم
من روش كار مي كنم ببينم به جايي مي رسم يا نه
دوستان هم دريغ نكن و جواب بدن
۰۴-بهمن-۱۳۸۴, ۱۸:۵۸:۲۵
ارسال‌ها
پاسخ
Amin4u آفلاین
كاربر تک ستاره
*

ارسال‌ها: 59
موضوع‌ها: 6
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 0
( 5 تشکر در 4 ارسال )
ارسال: #10
 
ممنون :roll: :wink:

توي يه جاي ديگه هم مطرح كرده بودم و يكي از دوستان لطف كرده بودن و گفته بودن:

فكر كنم بايد بري سراغ برنامه هاي كنترل پروسس بگردي
بعد يه ليست از برنامه هايي كه مجاز هستن رو تهيه كني و بقيه رو بكشي

يه دو سه ماهيه دارم روش كار ميكنم ولي تاحالا ندوتستم به جايي برسم :roll:
۰۴-بهمن-۱۳۸۴, ۱۹:۳۳:۰۰
وب سایت ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #11
 
نه ما نمي خواهيم از روش پروسس بريم جلو چون حد اقل برنامه يك بار
باز مي شه و بعد مي تونيم اگه غير مجاز بود ببنديمش
ما اصلا مي خواهيم باز نشه
۰۴-بهمن-۱۳۸۴, ۲۰:۱۸:۵۶
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] پیدا کردن تمامی هندلها policweb 2 3,285 ۲۰-شهریور-۱۳۹۲, ۲۲:۰۳:۰۱
آخرین ارسال: Ghoghnus
  پیدا کرددن کامپوننت megatron 6 5,177 ۰۸-اردیبهشت-۱۳۹۲, ۲۳:۱۲:۲۹
آخرین ارسال: megatron
  پیدا کردن فایل ها با پسوند خاص و کپی آن ها در یک فولدر ppcsoft 5 8,156 ۰۹-بهمن-۱۳۹۱, ۱۹:۳۷:۲۶
آخرین ارسال: fararaz
  پیدا کردن یک فایل در کامپیوتر با ویژوال بیسیک silent718 11 11,632 ۱۱-مهر-۱۳۹۱, ۰۸:۱۰:۵۲
آخرین ارسال: loack
  پیدا کردن کاربران ویندوز s7004u 5 6,337 ۰۳-تير-۱۳۹۱, ۲۲:۴۷:۵۲
آخرین ارسال: s7004u
  پیدا کردن آدرس Desktop و My Documents RAMA2009 14 16,263 ۲۸-اردیبهشت-۱۳۹۱, ۱۲:۴۶:۰۹
آخرین ارسال: behzady
  پیدا کردن وبلاگ های بروز شده بلاگفا rap0661 13 19,411 ۳۱-فروردین-۱۳۹۱, ۱۸:۲۹:۰۶
آخرین ارسال: rap0661
  [سوال] چگونه میتونم صدای ویندوز میدیا پلیر رو ضبط کنم؟ mahmoodhojabri 7 8,819 ۰۱-اسفند-۱۳۹۰, ۰۲:۲۴:۰۹
آخرین ارسال: abbasalifix
Question پیدا کردن هندل یک شی که caption آن را نمیدانیم crafcrab 12 10,810 ۱۹-بهمن-۱۳۹۰, ۰۹:۵۱:۱۸
آخرین ارسال: lord_viper
  مشکل در ارتباط با پیدا نکردن نرم افزار یاهو توسط وب WebBrowser ویژوال بیسیک bvk 0 2,438 ۰۶-شهریور-۱۳۹۰, ۰۸:۵۴:۵۸
آخرین ارسال: bvk

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS