Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Создание ярлыков Добавлено: 09.09.04 03:14  

Автор вопроса:  Terminator | Web-сайт: www.cheats049.narod.ru | ICQ: 170087310 
Как с помощью VB создать ярлык к файлу?

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Mihalыch



ICQ: 373-509-101 

Вопросов: 56
Ответов: 330
 Профиль | | #1 Добавлено: 09.09.04 05:07
Enum ShortCutDest
    ;DeskTop
    Programs
    StartMenu
    StartUp
End Enum

Public Function CreateLink(dest As ShortCutDest, ByVal sName As String, ByVal sPath As String, Optional HotKey As String = "", Optional sIcon As String = "", Optional sWorkingDirectory As String = "", Optional sSubFolder As String = "", Optional WinStyle As Integer = vbNormalFocus)
   ;Dim WshShell As Object
   ;Dim oShellLink As Object
   ;Dim sLinkPath As String
   Set WshShell = CreateObject("WScript.Shell";)
   Select Case dest
       Case DeskTop
            sLinkPath = WshShell.SpecialFolders(";Desktop";)
       Case StartMenu
            sLinkPath = WshShell.SpecialFolders("StartMenu";)
       Case StartUp
            sLinkPath = WshShell.SpecialFolders("StartUp";)
       Case Programs
            sLinkPath = WshShell.SpecialFolders("Programs";)
   End Select
   On Error Resume Next
   If sSubFolder <> "" Then
      sLinkPath = sLinkPath & "\" & sSubFolder
      If Dir(sLinkPath) = "" Then MkDir sLinkPath
   End If
   On Error GoTo 0
   Set oShellLink = WshShell.CreateShortCut(sLinkPath & "\" & sName & ".lnk";)
   oShellLink.WindowStyle = WinStyle
   oShellLink.HotKey = sHotKey
   oShellLink.TargetPath = sPath
   oShellLink.IconLocation = sIcon
   oShellLink.Description = sName
   oShellLink.WorkingDirectory = sWorkingDirectory
   oShellLink.Save
   Set oShellLink = Nothing
   Set WshShell = Nothing
End Function

Private Sub Command1_Click()
   CreateLink DeskTop, "Calculator", "c:\windows\calc.exe", "CTRL+SHIFT+C", "calc.exe,0", "c:\windows"
   CreateLink StartMenu, "Calculator", "c:\windows\calc.exe", "CTRL+SHIFT+C", "calc.exe,0", "c:\windows"
   CreateLink StartUp, "Calculator", "c:\windows\calc.exe", "CTRL+SHIFT+C", "calc.exe,0", "c:\windows"
   CreateLink Programs, "Calculator", "c:\windows\calc.exe", "CTRL+SHIFT+C", "calc.exe,0", "c:\windows", "WinCalc"
   CreateLink Programs, "Calculator Help", "c:\windows\help\calc.hlp", "", "winhlp32.exe,0", "c:\windows\help", "WinCalc"
   CreateLink Programs, "Visit our web site", "http://vbcity.com", , "shdocvw.dll,0", , "WinCalc", vbMaximizedFocus
End Sub

Пример взят отсюда.

Ответить

Номер ответа: 2
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #2
Добавлено: 09.09.04 12:16
Да ну неужели в .НЕТ нет контрола для создания ярлыка ? Непорядок ;)

Ответить

Номер ответа: 3
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #3
Добавлено: 09.09.04 14:12
2 sne: нефик, в VB6 его тоже нету :)

2 Terminator: в .Net встроенных вредств для этого нет, поэтому надо
воспользоваться кодом, предложенным Михалычем, адаптировав его под
.NET.

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 09.09.04 17:16
:) Да просто удивительно, кажется кучу всего изобрели, придумали и добавили, а чего-то нужного как небыло так и нет :(

Ответить

Номер ответа: 5
Автор ответа:
 Oleg K



Вопросов: 15
Ответов: 72
 Профиль | | #5 Добавлено: 10.09.04 04:07
Ну есть еще и такой вариант :

http://www.thecodeproject.com/managedcpp/mcppshortcuts.asp

Цитата по ссылке:

ShortCut is a .NET class that allows you to create shortcuts to files as well as resolve existing shortcuts. The class was coded in Managed C++ and makes ample use of IJW. I have compiled the class as a Class Library under the namespace ShortCutLib. Thus you can now use it from your C# and VB .NET programs. Simply add a reference to the DLL. This is yet another example of how Managed C++ eases the transition between managed and unmanaged code so easily. It just works!

Конец цитаты.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам