Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: иконки на рабочий стол Добавлено: 03.09.10 21:40  

Автор вопроса:  kvskvs
Всем привет
Помогите примерчиком на VB6 !!!
1. Нужно перетаскивать иконки с рабочего стола на форму, с последующим запуском с формы.
2. Желательно перетаскивать на форму названия файлов (например с Total Commander) , с последующим запуском с формы.
Заранее благодарю

Ответить

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

Номер ответа: 1
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #1 Добавлено: 03.09.10 22:46
создай пару листбоксов и кинь код в форму
  1.  
  2. Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
  3. 'On Error Resume Next
  4. Dim lCount As Long, sArr() As String, sPath As String, sExt As String
  5. Dim objShell As Object, objShortcut As Object
  6. Set objShell = CreateObject("WScript.Shell")
  7.  
  8.   For lCount = 1 To Data.Files.Count
  9.     sPath = Data.Files(lCount)
  10.     sExt = LCase(Right$(sPath, 4))
  11.     If sExt = ".lnk" Then
  12.       Set objShortcut = objShell.CreateShortcut(sPath)
  13.       sPath = objShortcut.TargetPath
  14.     End If
  15.     'If sExt = ".exe" Or sExt = ".com" Then Shell sPath ' запуск
  16.     List1.AddItem sPath
  17.     sArr = Split(sPath, "\")
  18.     List2.AddItem sArr(UBound(sArr))
  19.   Next lCount
  20.  
  21. Set objShortcut = Nothing
  22. Set objShell = Nothing
  23. End Sub

Ответить

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



Вопросов: 4
Ответов: 330
 Профиль | | #2 Добавлено: 03.09.10 22:51
забыл добавить
это тоже кинуть в форму
  1.  
  2. Private Sub Form_Load()
  3.   OLEDropMode = 1
  4. End Sub

Ответить

Номер ответа: 3
Автор ответа:
 kvskvs



Вопросов: 2
Ответов: 5
 Профиль | | #3 Добавлено: 03.09.10 23:17
Спасибо, здорово!!!
Перенос файлов, правда попроще у меня уже получился.
Мне нужно - (1. Нужно перетаскивать иконки с рабочего стола на форму, с последующим запуском с формы.)
Уточняю - нужно перетаскивать иконки с рабочего стола на форму в окна типа “Image”, с последующим запуском с формы, запуская через это же окно “Image” .

Я не знаю с какой стороны подступится, если можно примерчик пришлите.

Ответить

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



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #4
Добавлено: 04.09.10 02:57
что значит "запуская через это же окно"?

Ответить

Номер ответа: 5
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #5 Добавлено: 04.09.10 08:11
1. что такое окно "Image" ?
2. Если ты перетаскиваешь иконки с рабочего стола, то что потом нужно запускать "с формы.)" ? Иконки?

Ответить

Номер ответа: 6
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #6 Добавлено: 04.09.10 10:56
может так?
  1.  
  2. Option Explicit
  3.  
  4. Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
  5. Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
  6. Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
  7.  
  8. Dim sPathEXE As String
  9.  
  10.  
  11. Private Sub Form_Load()
  12.   OLEDropMode = 1
  13.   Picture1.AutoRedraw = True
  14. End Sub
  15.  
  16.  
  17. Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
  18. 'On Error Resume Next
  19. Dim lCount As Long, sArr() As String, sPath As String, sExt As String
  20. Dim objShell As Object, objShortcut As Object
  21. Set objShell = CreateObject("WScript.Shell")
  22.  
  23.   For lCount = 1 To Data.Files.Count
  24.     sPath = Data.Files(lCount)
  25.     sExt = LCase(Right$(sPath, 4))
  26.     If sExt = ".lnk" Then
  27.       Set objShortcut = objShell.CreateShortcut(sPath)
  28.       sPath = objShortcut.TargetPath
  29.     End If
  30.     'If sExt = ".exe" Or sExt = ".com" Then Shell sPath ' запуск
  31.     List1.AddItem sPath
  32.     IconToPicture sPath, Picture1
  33.     sPathEXE = sPath
  34.     sArr = Split(sPath, "\")
  35.     List2.AddItem sArr(UBound(sArr))
  36.   Next lCount
  37.  
  38. Set objShortcut = Nothing
  39. Set objShell = Nothing
  40. End Sub
  41.  
  42.  
  43. Private Sub Picture1_Click()
  44. Shell sPathEXE, vbNormalFocus
  45. End Sub
  46.  
  47.  
  48. Function IconToPicture(sPath As String, xPicture As PictureBox) As Long
  49. Dim lRet As Long
  50. xPicture.Picture = LoadPicture()
  51. xPicture.AutoRedraw = True
  52. lRet = ExtractIcon(0, sPath, 0)
  53. IconToPicture = DrawIcon(xPicture.hdc, 0, 0, lRet)
  54. DestroyIcon lRet
  55. End Function

Ответить

Номер ответа: 7
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #7 Добавлено: 04.09.10 11:38
Кароче делает клон моей панельки =З

Ответить

Номер ответа: 8
Автор ответа:
 kvskvs



Вопросов: 2
Ответов: 5
 Профиль | | #8 Добавлено: 04.09.10 20:32
Just, куда мне выслать скриншот и краткое описание того что мне нужно. Мой адрес kvs2160@mail.ru

Ответить

Номер ответа: 9
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #9 Добавлено: 04.09.10 21:57
UnDeAdZak, ну так скинь ему код панельки, облегчи мне жизнь )

Ответить

Номер ответа: 10
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #10 Добавлено: 04.09.10 23:42
JustЛениво. тама ок. 2000 строк кода + на C#, а он вбнет юзает.

Ответить

Номер ответа: 11
Автор ответа:
 Иван



ICQ: Москва 

Вопросов: 0
Ответов: 1
 Web-сайт: www.aprioristaff.ru
 Профиль | | #11
Добавлено: 22.09.10 23:53
Кароче тут тёмный лес, а попроще объясните

Ответить

Страница: 1 |

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



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