صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 42

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

  1. #1

    تشخیص مسیر و نام فولدر انتخاب شده

    چه جوری می توانم در هر کجا از ویندوز وقتی یک فولدر را انتخاب کردم مسیر و نام آن فولدر را بدست بیاورم
    اضافه کنم که من نمی خوام از کنترل Common dialog استفاده شود بلکه می خواهم در خارج از برنامه این کار انجام شود
    ممنون می شوم اگر جواب دهید

  2. #2
    اگر میشود بیشتر توضیح بده چون متوجه نمیشوم میخواهی چه کارکنی .

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    260
    منم متوجه نشدم

  4. #4
    با تشکر از توجه شما

    برای اینکه منظورم را بیشتر متوجه شوید این جوری بیان می کنم
    من برنامه ام را Minimize می کنم و از درایو مثلا C یک فولدر را انتخاب می کنم حالا می خوام توی برنامه ام مسیر و نام آن فولدر را بدست بیاورم

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    260
    کاشکی می دونستم چون منم دنبالشم
    اگه کسی فهمید اینجا بگه

  6. #6
    کسی نیست که جواب بده ؟

  7. #7
    بابا جواب بدین دیگه ، هیچ کس نیست به فریاد من برسد ؟
    من که میدونم بلد هستید پس چرا جواب نمی دیدن ؟

  8. #8
    با سلام
    فکر نمی کنم همچین برنامه ای وجود داشته باشه من که نظیرش رو ندیدم اگر هم باشه با وی بی نیست.

  9. #9
    نقل قول نوشته شده توسط هانی هاشمی
    با سلام
    اگر هم باشه با وی بی نیست.
    یه ضرب المثل بین برنامه نویسا هست که میگه کار نشد نداره.

  10. #10
    اگه نشد نداره خب درست کن

  11. #11
    من ضرب المثل رو گفتم که شما وارد عمل شی. گفتم که روحیه بگیری. وگرنه خودم که میدونستم.

  12. #12
    سلام چطوری
    آقا پیمان دستت درد نکنه روحیه دادی
    من یه راه پیدا کردم روش انجام کار من فقط راهش رو میگم برنامه نویسیش با بقیه بچه ها(آخه بلد نیستم)
    1.به قسمت TOOLS در بالای صفحه ی MY COMPUTERET بورو وبعد FOOLDER OPTION بعدش View --> بعد DISPLAY THE FULL PATH ... - حالا بالای هر پنجره ای آدرس کاملش رو می نویسه
    2.می تونی با تسک منیجر اون رو بخونی

  13. #13
    روش جالبیه ولی چرا میگی از تسک منجر بخونیم؟ باید هندل پنجره سلکت شدرو بگیریم و مسیر رو بخونیم.

  14. #14
    من هم یک راه پیدا کردم هر چند که می دونم زیاد کارساز نیست
    در رجیستری به مسیر زیر بروید و مقدار پیش فرض را برابر cmd.exe قرار دهید
    اکنون وقتی روی هر فولدر راست کلیک می کنید یک گزینه به اسم Command اضافه شده است که وقتی روی آن کلیک می کنید مسیر فولدر را در Command prompt می دهد


    [HKEY_CLASSES_ROOT\Directory\shell\Command\command]
    @="cmd.exe"

  15. #15
    یعنی چی در command promt میدهد؟

  16. #16
    command promt یک برنامه ویندوزی است که اونا می تونی از مسیر
    All programs|Accessories پیدا کنی

  17. #17
    کاربر دائمی آواتار touraj
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    341
    منم فکر میکنم بهترین راه استفاده از رجیستریه. باید یه متغیر بذاری که مقدار همون کلاسی که S_VB.max گفت رو بگیره

  18. #18
    دوست عزیز دیگه کیه که ندونه داس چیه؟ من میدونم command promt چیه ولی میگم یعنی چی که در command promt نشون میده. مثلا یه صفحه داس باز میشه و فوریم بسته میشه ؟
    در ضمن command promt داس شبیه سازی شده در ویندوزه و خودش یه محیط جداست. درسته که در ویندوز اجرا میشه ولی شاید درست نباشه که بگیم برنامه ویندوزیه.

  19. #19
    آقا پیمان شما درست می فرمایید

    حالا اگر در رجیستری ، مقدار پیش فرض را برابر مسیر برنامه قرار دهیم ، باعث می شود وقتی روی گزینه Command (در منوی راست کلیک فولدر) کلیک کنیم برنامه باز شود و بعد از انجام مراحلی که هانی هاشمی گفت ،برنامه عنوان پنجره فوکوس شده را بخواند
    با این کار حداقل مسیر فولدر را می توان بدست آورد

  20. #20
    سلام
    من این کار رو می کنم
    form1.appilication.path
    و آدر کامل رو می گیرم

  21. #21
    سلام
    من سورسی که این کار رو کنه ندارم
    اما برنامه ای مثل FileMon این کار رو انجام می ده و هر نوع دسترسی به فایل و شاخه ها را Log می کنه باید دید از چه روشی استفاده میشه اما فکر می کنم از توابع API ویندوز استفاده کنه
    دنبال راهی توی API باشید
    برنامه ای هم APIMON هم هست که هنگام دسترسی به توابع API می گه کدوم تابع استفاده شده
    حالا اگر فرضیات درست باشه پس هنگام اجرای FileMon اگر APIMon رو هم اجرا کنیم میشه فهمید FileMon از کدوم تابع استفاده کرده
    البته اینا همه یک حدسه
    ولی اگه این راه رو ادامه بدین احتمالا به نتیجه می رسین
    اگر من و شما هر كدوم يك چيز ياد داشته باشيم و به هم ياد بديم، حالا هر كدوم دو تا چيز ياد داريم ! http://www.ArminaCo.com

  22. #22
    siahacker اگه منظورت app.path هست آدرس برنامه رو میده نه فولدرهای دیگرو.
    S_VB.max من به مسیری که شما گفتی رفتم ولی کلید command نبود مسیری رو که گفتین ایجاد کردم و مقدار دیفالت رو کردم cmd.exe ولی command به راست کلیکم اضافه نشد.
    در ضمن چرا command عنوان پنجره فوکوس رو برامون بخونه. خودمون با api ها خیلی راحت میتونیم این کار رو از تو برنامه بکنیم. ولی تغییرات تو فولدر آپشن کارو میپیچونه.
    روش vbhamed هم جالبه. این برنامه هارو اگه داری بذار تا روشون کار کنیم شاید api شو پیدا کنیم .

  23. #23
    سلام
    اینم دو برنامه FileMon و ApiMon
    نرم افزارهای بسیار مفیدی هستند مخصوصا برای سر درآوردن از کار برنامه های دیگه

    یه دونه دیگه هم هست به نام RegMon که حتما می دونین چیکار میکنه
    PortMonitor
    VXDMonitor
    فایل های ضمیمه فایل های ضمیمه
    اگر من و شما هر كدوم يك چيز ياد داشته باشيم و به هم ياد بديم، حالا هر كدوم دو تا چيز ياد داريم ! http://www.ArminaCo.com

  24. #24
    Payman62 عزیز
    من مسیر دقیق را نوشتم حتما یه جایی اشتباه کردی

    HKEY_CLASSES_ROOT\Directory\shell\MyProgram\comman d

    برای کلید Shell ، یک زیر کلید با نام اختیاری بساز تا اینجای کار باید برای راست کلیک فولدر ها یک گزینه با نام MyProgram وجود داشته باشد و بعد برای این کلید هم یک زیر کلید دیگه که باید اسمش حتما Command باشه بساز و مقدار دیفالت را برابر cmd.exe کن
    اگر بازم مشکل داشتی بگو تا کد ویبی را برات بذارم
    آخرین ویرایش به وسیله S_VB.max : چهارشنبه 24 اسفند 1384 در 11:39 صبح

  25. #25
    من یک روش دیگه برای بدست آوردن مسیر فولدر بدست آوردم
    اول برنامه را با این دستورات کامپایل کن و بعد در رجیستری همانطوری که قبلا گفتم مسیر برنامه را وارد کن

    Private Sub Drive1_Change()
    Dir1 = Drive1
    End Sub

    Private Sub Form_Load()
    Text1.Text = Dir1
    End Sub

  26. #26
    نقل قول نوشته شده توسط vbhamed
    سلام
    اینم دو برنامه FileMon و ApiMon
    نرم افزارهای بسیار مفیدی هستند مخصوصا برای سر درآوردن از کار برنامه های دیگه

    یه دونه دیگه هم هست به نام RegMon که حتما می دونین چیکار میکنه
    PortMonitor
    VXDMonitor
    میشه در مورد طریقه کار ApiMon توضیح بدی. من چک کردم ولی اطلاعات نامفهوم به جای API داد.

    S_VB.max روشت جواب داد. صفحه داس باز شد و آدرس فولدر توش بود. ولی چه طور میخوای از این تو برنامه استفاده کنی؟

  27. #27
    با صفحه داس فکر نکنم بشه کاری کرد ولی با کنترلهای Dir1 و Drive1 حداقل میشه مسیر فولدر را بدست آورد .
    بابت اسم فولدر هنوز جوابی پیدا نکردم.

  28. #28
    مشکل کار با ApiMon حل شد.
    DirListBox و DriveListBox فقط تو خود برنامه کاربرد دارن. شما که نمیتونی ازشون تو خارج محیط برنامه استفاده کنی.

  29. #29
    اگر برنامه را با دستورات زیر کامپایل کنی و بعد در رجیستری مقدار دیفالت Command را برابر مسیر برنامه قرار بدی ، وقتی روی راست کلیک فولدر ، کلیک می کنی مسیر فولدر در TextBox نشان داده می شود .


    Private Sub Drive1_Change()
    Dir1 = Drive1
    End Sub

    Private Sub Form_Load()
    Text1.Text = Dir1
    End Sub


    البته اگر دقت کنی اینا در بالا گفته بودم .

  30. #30

    100% امتحان شده

    ابتدا داخل مای کامپیوترت بشو بعد در منوی تولز فولدر آپشن را بنزن
    بعد توی File Type
    فولدر را انتخاب کن بعد رووی advance کلیک کن
    بعدش روی new بزن در قسمت اکشن یک اسم بده و در قسمت پایین مسیر برنامه که کامپایل کردی را وارد کن بعد روی هر فولدری که راست کلیک کنی اون کلمه ای که تو اکشن نوشتی ظاهر می شه بعدش با کلیک کردنت روی اون اگر برنامه بسته باشه باز می شه و مسیر را انتقال می ده به تکست باکست اگر هم برنامه باز باشه بازم همین کار رو می کنه

    اگر سئوالی بود در خدمتم
    فایل های ضمیمه فایل های ضمیمه

  31. #31
    نقل قول نوشته شده توسط hamid2002ir
    ابتدا داخل مای کامپیوترت بشو بعد در منوی تولز فولدر آپشن را بنزن
    بعد توی File Type
    فولدر را انتخاب کن بعد رووی advance کلیک کن
    بعدش روی new بزن در قسمت اکشن یک اسم بده و در قسمت پایین مسیر برنامه که کامپایل کردی را وارد کن بعد روی هر فولدری که راست کلیک کنی اون کلمه ای که تو اکشن نوشتی ظاهر می شه بعدش با کلیک کردنت روی اون اگر برنامه بسته باشه باز می شه و مسیر را انتقال می ده به تکست باکست اگر هم برنامه باز باشه بازم همین کار رو می کنه

    اگر سئوالی بود در خدمتم
    خوب گیر ما سر همین ایجاد تغییر در فولدر آپشنه دیگه. وگرنه راهی که هانی پیشنهاد کرده بود که خیلی ساده تره. کافیه هندل پنجره دارای فوکوس رو بگیریم و کپشنش رو بخونیم.
    نقل قول نوشته شده توسط هانی هاشمی
    سلام چطوری
    آقا پیمان دستت درد نکنه روحیه دادی
    من یه راه پیدا کردم روش انجام کار من فقط راهش رو میگم برنامه نویسیش با بقیه بچه ها(آخه بلد نیستم)
    1.به قسمت TOOLS در بالای صفحه ی MY COMPUTERET بورو وبعد FOOLDER OPTION بعدش View --> بعد DISPLAY THE FULL PATH ... - حالا بالای هر پنجره ای آدرس کاملش رو می نویسه
    2.می تونی با تسک منیجر اون رو بخونی

  32. #32
    HKEY_CLASSES_ROOT\Directory\shell\Open With our Program\command
    در مسیر بالا تو ریجستری کلید زیر را وارد کن عزیز جان نوشتی ای که حالت بولد داره نام اکشن شماست
    "C:\Documents and Settings\Vatan\My Documents\Project1.exe" %1
    مسیر بالا هم مسیر برنامه ات است

  33. #33
    آقا حمید دستت درد نکنه ، خیلی ممنون

  34. #34
    قابلی نداشت

  35. #35
    نقل قول نوشته شده توسط S_VB.max
    Payman62 عزیز
    من مسیر دقیق را نوشتم حتما یه جایی اشتباه کردی

    HKEY_CLASSES_ROOT\Directory\shell\MyProgram\comman d

    برای کلید Shell ، یک زیر کلید با نام اختیاری بساز تا اینجای کار باید برای راست کلیک فولدر ها یک گزینه با نام MyProgram وجود داشته باشد و بعد برای این کلید هم یک زیر کلید دیگه که باید اسمش حتما Command باشه بساز و مقدار دیفالت را برابر cmd.exe کن
    اگر بازم مشکل داشتی بگو تا کد ویبی را برات بذارم
    این جا چه خبره. hamid2002ir این روشو که S_VB.max گفته بود. S_VB.max شما خودت این روشو پیشنهاد کردی و حالا که حمید پستتو تکرار کرده براش دست میزنیو تشکر میکنی؟ مگه برات تازگی داشت؟

  36. #36
    در روش من تنها مسیر فولدر بدست می آمد در صورتی که در روش hamid2002ir می تونی علاوه بر مسیر فولدر ،نام فولدر را هم بدست بیاوری

  37. #37

    Smile

    شما اصلا نیاز نیست به folderoption کاری داشته باشید تنها در رجیستری مسیر برنامه را به همان صورتی که hamid2002ir گفت وارد کنید، در این روش در تکس باکس علاوه بر مسبر فولدر ، نام فولدر با هم داده می شود. مثلا بصورت: E:\WINDOWS\system32
    برای جدا کردن این دو از هم از دستورات زیر استفاده کنید:


    Dim path, NameFolder As String
    Dim i As Integer
    Private Sub Form_Load()
    Text1.Text = Command

    For i = 0 To Len(Text1.Text)
    NameFolder = Right(Text1.Text, i)
    If Left(NameFolder, 1) = "\" Then
    NameFolder = Right(Text1.Text, i - 1)
    path = Left(Text1.Text, Len(Text1.Text) - i)
    Exit For
    End If
    Next

    MsgBox "name folder is =" & NameFolder & vbCrLf & " path folder is =" & path


    End Sub

  38. #38
    من متوجه نمی شم اینجا چه خبره!

  39. #39
    یعنی همه گیر سر یه 1% بود. جالبه. ولی من فکر میکردم شما میخوای کاربر وارد هر فولدری بشه مسیرش رو به دست بیاری. نه به این صورت که رایت کلیک کنه و یه گزینه انتخاب کنه. بلکه همین که وارد یه فولدر شد مسیرش به دست بیاد.
    حالا که مشکل S_VB.max حل شد. ولی من دلم میخواد با این روشم که گفتم نام فولدر رو به دست بیارم. یعنی وارد فولدر که شدی بدون هیچ کلیکی آدرس فولدر گیر بیاد.

  40. #40
    payman62 من هنوز نتونستم جوابی برای سئوال شما پیدا کنم ، اگه کسی از دوستان میدونه اینجا بگه
    چه جوری می تونم کنار گزینه راست کلیک فولدرها یک آیکون بگذارم ؟

صفحه 1 از 2 12 آخرآخر

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

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