H_r_m
یک شنبه 04 مرداد 1383, 20:58 عصر
با سلام
چگونه میتوان کاری کرد که مثلا با کلیک کردن روی فایلهای متنی Txt آن فایلها با برنامه ای که با وی بی نوشته ایم باز شود امید وارم متوجه منظورم شده باشید
میشه با یه مثال توضیح بدین ممنونم
MM_Mofidi
دوشنبه 05 مرداد 1383, 15:00 عصر
my computer ->tools menu -> folder option ->file type tab ->select TXT files -> advanced button ->Select Action  Open -> Edit button 
گزینه application used to perporm action را به برنامه خود تغییر دهید.
در windows 98 منو  folder option در مسیر دیگری میباشد.
H_r_m
دوشنبه 05 مرداد 1383, 21:56 عصر
سلام اقا یا خانم مفیدی
منظور من این بود که از درون وی بی اینکار انجام شود (وگر نه این سوال را در بخش ویندوز مطرح میکردم)
در ضمن در توضیح جواب شما باید بگویم که اگر روی فایلی که میخواهیم با برنامه دیگری باز شود راست کلیک کرده و گزینه Open With ... را انتخاب و برنامه مورد نظرمان را انتخاب کرده 
و تیک Always ... را میزنیم دیگز نیازی به طی مواردی که شما گفتید هم نیست البته این هم یک روش است 
امیدوارم که جسارتی نکرده باشم
H_r_m
شنبه 10 مرداد 1383, 22:53 عصر
سلام
لطفا یکی جواب بده  8-)
Ali_Mor
یک شنبه 11 مرداد 1383, 21:17 عصر
سلام
من این برنامه را قبلا در سایت iranvig   پیدا کردم ولی آن را امتحان نکرده ام
1. ایجاد یک پروژه تازه
2. ایجاد یک ماجول و نوشتن کدهای زیر درون آن
Public Type mnuCommands
    Captions As New Collection
    Commands As New Collection
End Type
 
Public Type filetype
    Commands As mnuCommands
    Extension As String
    ProperName As String
    FullName As String
    ContentType As String
    IconPath As String
    IconIndex As Integer
End Type
 
Public Const REG_SZ = 1
Public Const HKEY_CLASSES_ROOT = &H80000000
 
Public Declare Function RegCloseKey Lib _
"advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegCreateKey Lib _
"advapi32" Alias "RegCreateKeyA" (ByVal _
hKey As Long, ByVal lpszSubKey As String, _
phkResult As Long) As Long
Public Declare Function RegSetValueEx Lib _
"advapi32" Alias "RegSetValueExA" (ByVal _
hKey As Long, ByVal lpszValueName As String, _
ByVal dwReserved As Long, ByVal fdwType As _
Long, lpbData As Any, ByVal cbData As Long) As Long
Public Sub CreateExtension(newfiletype As filetype)
 
    Dim IconString As String
    Dim Result As Long, Result2 As Long, ResultX As Long
    Dim ReturnValue As Long, HKeyX As Long
    Dim cmdloop As Integer
    
    IconString = newfiletype.IconPath & "," & _
    newfiletype.IconIndex
    
    If Left$(newfiletype.Extension, 1) <> "." Then _
        newfiletype.Extension = "." & newfiletype.Extension
    
    RegCreateKey HKEY_CLASSES_ROOT, _
    newfiletype.Extension, Result
    ReturnValue = RegSetValueEx(Result, "", 0, REG_SZ, _
    ByVal newfiletype.ProperName, _
    LenB(StrConv(newfiletype.ProperName, vbFromUnicode)))
 
    'Set up content type
    If newfiletype.ContentType <> "" Then
        ReturnValue = RegSetValueEx(Result, _
        "Content Type", 0, REG_SZ, ByVal _
        CStr(newfiletype.ContentType), _
        LenB(StrConv(newfiletype.ContentType, vbFromUnicode)))
    End If
 
    RegCreateKey HKEY_CLASSES_ROOT, _
        newfiletype.ProperName, Result
 
    If Not IconString = ",0" Then
        RegCreateKey Result, "DefaultIcon", _
        Result2 'Create The Key of "ProperNameDefaultIcon"
        ReturnValue = RegSetValueEx(Result2, _
        "", 0, REG_SZ, ByVal IconString, _
        LenB(StrConv(IconString, vbFromUnicode)))
    'Set The Default Value for the Key
    End If
    ReturnValue = RegSetValueEx(Result, _
        "", 0, REG_SZ, ByVal newfiletype.FullName, _
        LenB(StrConv(newfiletype.FullName, vbFromUnicode)))
        RegCreateKey Result, ByVal "Shell", ResultX
    'Create neccessary subkeys for each command
    For cmdloop = 1 To newfiletype.Commands.Captions.Count
        RegCreateKey ResultX, ByVal _
        newfiletype.Commands.Captions(cmdloop), Result
        RegCreateKey Result, ByVal "Command", Result2
        Dim CurrentCommand$
        CurrentCommand = newfiletype.Commands.Commands(cmdloop)
        ReturnValue = RegSetValueEx(Result2, _
        "", 0, REG_SZ, ByVal CurrentCommand$, _
        LenB(StrConv(CurrentCommand$, vbFromUnicode)))
        RegCloseKey Result
        RegCloseKey Result2
    Next
    RegCloseKey Result2
End Sub
3.ایجاد یک فرم Form1
4. ایجاد سه TextBox با نامهای ، نامText1= و نام کاملText2= و پسوندText3=
5.ایجاد یک دکمه Command1
6. نوشتن کد زیر در فرم
Private Sub Command1_Click()
    Dim myfiletype As filetype
    
    myfiletype.ProperName = Text1.Text ' "MyFile"
    myfiletype.FullName = Text2.Text ' "My File Type"
    myfiletype.ContentType = "SomeMIMEtype"
    myfiletype.Extension = "." & Text3.Text 'Extention ".MYF"
    myfiletype.Commands.Captions.Add "Open"
    myfiletype.Commands.Commands.Add _
    "c:\windows\notepad.exe ""%1"""
    myfiletype.Commands.Captions.Add "Print"
    myfiletype.Commands.Commands.Add _
    "c:\windows\notepad.exe ""%1"" /P"
    CreateExtension myfiletype
End Sub
اجرای برنامه
پس از اجرا مقادیر زیر را به ترتیب در Text1,Text2,Text3 وارد نمایید (MyFile,My File Type,MYF)
سپس Command1 را بزنید
به محل زیر مراجعه کرده و دنبال فایل با پسوند MYF بگردید که باید توسط نوت پد باز شود
Start->Settings->Folder Options->File Types
H_r_m
دوشنبه 12 مرداد 1383, 22:38 عصر
سلام علی جون
ممنون از پاسختون من مشکلم حل شد
اگه میشه یه نگاه به سوال تشخیص برنامه در حال اجرا بیندازید
شاید جوابی هم برا اون پیدا کنید
باز هم ازتون ممنونم
ras-amir
چهارشنبه 23 شهریور 1390, 14:52 عصر
من که نفهمیدم...:گریه:
محسن واژدی
چهارشنبه 23 شهریور 1390, 16:12 عصر
سلام 
چه بخشی را متوجه نشدین
ras-amir
یک شنبه 27 شهریور 1390, 21:50 عصر
نمی فهمم برای چی با نود پد ما اگه بخوایم با برنامه خودمون باز بشه باید چی کار کنیم؟
محسن واژدی
یک شنبه 27 شهریور 1390, 22:18 عصر
نمی فهمم برای چی با نود پد ما اگه بخوایم با برنامه خودمون باز بشه باید چی کار کنیم؟     سلام علیکم 
همانطور که دوستان هم در پست های قبل عرض کردند، برای اجرای یک پسوند در برنامه:
1- پسوند جدید را در ریجستری ثبت و آدرس آن را به برنامه ارجاع میدهیم (دستورات نوشتن در ریجستری را هم در 5 مشاهده میکنید)
2- سپس در وی بی از تابع Command پارامتر ارسال شده که مسیر سند است را دریافت و در TextBox نمایش میدهیم
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.