آموزش ویژوال بیسیک و برنامه نویسی

سورس,ویژوال بیسیک,نرم افزار,باشگاه,بدنسازی,فوتبال,آنالیز,پیش بینی,کد,برنامه نویسی

آموزش ویژوال بیسیک و برنامه نویسی

سورس,ویژوال بیسیک,نرم افزار,باشگاه,بدنسازی,فوتبال,آنالیز,پیش بینی,کد,برنامه نویسی

یک آموزش توپ

Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long


Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long


Private Declare Sub SHChangeNotify Lib "shell32.dll" (ByVal wEventId As Long, ByVal uFlags As Long, dwItem1 As Any, dwItem2 As Any)

 


Private Sub Form_Load()


    Image1.Stretch = True


    Image1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight


    '


    RegisterFile ".BMP"


    RegisterFile ".JPG"


    RegisterFile ".GIF"


    RegisterFile ".WMF"


    RegisterFile ".EMF"


   


    On Error Resume Next


    If Len(Command()) > 0 Then Image1.Picture = LoadPicture(FixPath(Command()))


End Sub

 


Private Sub RegisterFile(strPasvand As String)


    Dim sKeyName As String   ' Holds Key Name in registry.


    Dim sKeyValue As String  ' Holds Key Value in registry.


    Dim ret&           ' Holds error status if any from API calls.


    Dim lphKey&        ' Holds  key handle from RegCreateKey.


    Dim path As String


   


    path = App.path


    If Right(path, 1) <> "" Then


       path = path & ""


    End If


   


    ' This creates a Root entry called "PicturePreview".


    sKeyName = "PicturePreview" ' Project Name


    sKeyValue = "Picture"


    ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)


    ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)


   


    ' This creates a Root entry called .BMP;.JPG;.GIF;.WMF associated with "PicturePreview".


 


    sKeyName = strPasvand


    sKeyValue = "PicturePreview" ' Project Name


    ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)


    ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)

 


    ' This sets the command line for "PicturePreview".


    sKeyName = "PicturePreview" ' Project Name


    sKeyValue = path & App.EXEName & ".exe %1"


    ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)


    ret& = RegSetValue&(lphKey&, "shellopencommand", REG_SZ, sKeyValue, MAX_PATH)


   


    ' This sets the icon for the file extension


    sKeyName = "PicturePreview" ' Project Name


    sKeyValue = path & "MyIcon.ico"


    ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)


    ret& = RegSetValue&(lphKey&, "DefaultIcon", REG_SZ, sKeyValue, MAX_PATH)


   


    ' This notifies the shell that the icon has changed


    SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0

 


End Sub

 


Public Function FixPath(strPath As String) As String


    Dim strTemp As String


    strTemp = strPath


    strChar = """"


    If Len(strTemp) > 0 Then


        If Mid(strTemp, 1, 1) = strChar Then strTemp = Right(strTemp, Len(strTemp) - 1)


        If Mid(strTemp, Len(strTemp), 1) = strChar Then strTemp = Left(strTemp, Len(strTemp) - 1)


    End If


    FixPath = strTemp


End Function

 

 


خوب حالا از برنامتون یک فایل .exe بسازید و همچنین یک آیکون با نام MyIcon.ico کنار فایل اجرایی که ساختید قرار بدید.


توجه : همیشه یک آیکون باید با نام MyIcon.ico در کنار فایل اجرایی وجود داشته باشد در غیر اینصورت شکل فایل های تصویری (Jpeg ، Bitmap و غیره) به شکل ناشناخته در میان.

 


نکته: برنامه حداقل باید یک بار اجرا شود تا تاثیرات خود را روی ویندوز و فایل های تصویری بگذارد.

 


حالا برنامه اجرایی رو اجرا کنید و دوباره ببندید و روی یک عکس دوبار کلیک کنید و از منوی Open With… برنامه تون رو اجرا کنید و نتیجه رو در برنامه تون ببینید.


شما میتونید اینکار و برای هر برنامه ای و هر فایلی انجام بدید مثلا برنامه Notepad .


امیدوارم که به دردتون بخوره و شما هم نظر بدید

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد