powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / работа с объектами
25 сообщений из 41, страница 1 из 2
работа с объектами
    #37849386
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужно найти на рабочем столе ярлыки, зная путь к программе от ярлыков, и заменить параметры ярлыка.
пробую так:
Код: vbnet
1.
2.
3.
Dim whs As Object
    Dim lnk As Object
    Set whs = CreateObject("WScript.Shell")

дальше нужно написать
Код: vbnet
1.
2.
3.
For each ярлык in ярлыки
блаблабла
next ярлык

подскажете, как правильно это записАть?
...
Рейтинг: 0 / 0
работа с объектами
    #37849429
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
работа с объектами
    #37849430
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
работа с объектами
    #37850166
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

это я знаю, не то. мне нужно найти, для начала, среди всех ярлыков на рабочем столе тот, которые на ссылается на программу, путь и имя которой я знаю
...
Рейтинг: 0 / 0
работа с объектами
    #37850297
декстоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
десктоп это обычный фолдер на диске
который находится в специальном месте
имеет специальное имя

значит перечислить ярлыки на рабочем столе
означает перечислить файлы с расширением *.lnk
в фолдере C:\Users\{user}\Desktop

файлы можно перечислить с помощью команды Dir
...
Рейтинг: 0 / 0
работа с объектами
    #37850529
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
декстопдесктоп это обычный фолдер на диске
который находится в специальном месте
имеет специальное имя

значит перечислить ярлыки на рабочем столе
означает перечислить файлы с расширением *.lnk
в фолдере C:\Users\{user}\Desktop да, я в курсах. пробовал
Код: vbnet
1.
2.
3.
For Each lnk In whs.SpecialFolders("Desktop")
MsgBox lnk.TargetPath
Next

не фурычит
...
Рейтинг: 0 / 0
работа с объектами
    #37850595
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что тебе возвращает whs.SpecialFolders("Desktop")?
А что тебе нужно перебрать?
...
Рейтинг: 0 / 0
работа с объектами
    #37850634
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЧто тебе возвращает whs.SpecialFolders("Desktop")? папку с объектами рабочего стола Shocker.ProА что тебе нужно перебрать? нужно было перебрать все ярлыки декстопфайлы можно перечислить с помощью команды Dir перечитал обучалку по vb6 про функцию Dir - сделал так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Private Sub Command1_Click()
Dim whs As Object
Dim lnk  As Object
Dim FileName As String
Set whs = CreateObject("WScript.Shell")
FileName = Dir(whs.SpecialFolders("Desktop") & "\*.*")
If FileName <> "" Then
Do While FileName <> ""
FileName = Dir() ' &#232;&#235;&#232; FileName = Dir
    If Right(FileName, 4) = ".lnk" Then
    Set lnk = whs.CreateShortcut(whs.SpecialFolders("Desktop") & "\" & FileName)
    MsgBox lnk.TargetPath
    End If
Loop
End If
Set whs = Nothing
Set lnk = Nothing
End Sub


из 6 ярлыков на рабочем столе находит только 2, причём один с пустым путём. почему-то
...
Рейтинг: 0 / 0
работа с объектами
    #37850640
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему в конце возвращает пустой путь, в принципе понятно. по коду. так и должно быть. осталось разобраться, почему не находит 4 ярлыка
...
Рейтинг: 0 / 0
работа с объектами
    #37850652
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QlewerShocker.ProЧто тебе возвращает whs.SpecialFolders("Desktop")? папку с объектами рабочего столаВот именно. ПАПКУ. Объект "Папка". Единичный.
QlewerQlewerShocker.ProА что тебе нужно перебрать? нужно было перебрать все ярлыкиПеребрать тебе нужно было КОЛЛЕКЦИЮ ФАЙЛОВ. Нельзя перебрать единичный объект. Блин, учил-учил ЦЭ, теперь ты туда же.

Qlewerне фурычитосваивай "ересь" и "не взлетает"
...
Рейтинг: 0 / 0
работа с объектами
    #37850682
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

до кода в сообщении не дочитал?) 12761495 поч возвращает ток 2 ярлыка и 4? и как выглядит путь к C:\Documents and Settings\All Users \Рабочий стол через спец папки? некоторые ярлыки прячутся там
...
Рейтинг: 0 / 0
работа с объектами
    #37850691
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*2 из 4. Shocker.Proосваивай "ересь" и "не взлетает" у каждого уважающего себя человека должны быть свои коронные выражения, которые он сам(обязательно сам!) украл и запатентовал
...
Рейтинг: 0 / 0
работа с объектами
    #37850703
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewer, надо видимо знать путь этой папки и название, и как это зависит от Винды, локали
...
Рейтинг: 0 / 0
работа с объектами
    #37850736
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разобрался. C:\Documents and Settings\All Users\Рабочий стол это SpecialFolders(0) некоторые ярлыки не отпределяются, ну и фиг с ними. не так важно. как теперь дописать к найденному ярлыку параметры?
...
Рейтинг: 0 / 0
работа с объектами
    #37850904
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewer, фор еах это не мой конёк
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim objWSHShell As Object
Set objWSHShell = CreateObject("WScript.Shell")

Dim Рабочий_стол_расположен As String
'Desktop - Рабочий стол
Рабочий_стол_расположен = objWSHShell.SpecialFolders("Desktop")

Dim Количество_файлов_в_папке As Long
'количество файлов в папке по адресу ..., если ответ получим Empty, значит, такой папки не существует
Количество_файлов_в_папке = CreateObject("Scripting.FileSystemObject").GetFolder(Рабочий_стол_расположен).Files.Count

Set objWSHShell = Nothing
...
Рейтинг: 0 / 0
работа с объектами
    #37850988
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа, ... а зачем это?)

я пока что пытаюсь сообразить, как прописать параметры в существующий ярлык. пытаюсь так:
Код: vbnet
1.
2.
3.
Set lnk = whs.CreateShortcut(whs.SpecialFolders("Desktop") & "\" & FileName)
lnk.Arguments = "/secondary"
lnk.Save

получается какая-то хрень
...
Рейтинг: 0 / 0
работа с объектами
    #37850992
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewer,
может я отстал от жизни, но когда спрашивают
>нужно найти на рабочем столе ярлыки
то это значит, что нужно перебрать файлы из папки Рабочий стол или нет?
...
Рейтинг: 0 / 0
работа с объектами
    #37850995
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаQlewer,
может я отстал от жизни, но когда спрашивают
>нужно найти на рабочем столе ярлыки
то это значит, что нужно перебрать файлы из папки Рабочий стол или нет? твой код, если он рабочий, находит количество файлов заданной директории. какой-либо пользы от этого - 0. к тому же ярлыки уже найдены, нужны ярлык определён, теперь нужно дописать к этому ярлыку параметры.
...
Рейтинг: 0 / 0
работа с объектами
    #37850997
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewer,
>дописать к этому ярлыку параметры
что это?
какие у ярлыка есть параметры?
...
Рейтинг: 0 / 0
работа с объектами
    #37850999
Qlewerразобрался. C:\Documents and Settings\All Users\Рабочий стол это SpecialFolders(0) некоторые ярлыки не отпределяются, ну и фиг с ними. не так важно. как теперь дописать к найденному ярлыку параметры?
А у ярлыка как ты параметры считываешь?
А может к ярлыку нельзя дописывать параметры?
А зачем тебе это нужно?
...
Рейтинг: 0 / 0
работа с объектами
    #37851019
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофачто это?
какие у ярлыка есть параметры? параметры запуска проги, на которую этот ярлык ссылается. Иван ДырявыйА у ярлыка как ты параметры считываешь? никак. и зачем? ставлю так
Код: vbnet
1.
lnk.Arguments = "/secondary"

потом сохраняю
Код: vbnet
1.
lnk.Save

но что-то в этом не так... нужно как-то иначе. либо удалить предыдущий ярлык, либо ещё что-то. придётся пробовать методом проб и ошибок, раз никто не в курсе Иван ДырявыйА зачем тебе это нужно? запускать чужую программу с параметрами
...
Рейтинг: 0 / 0
работа с объектами
    #37851080
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewerя пока что пытаюсь сообразить, как прописать параметры в существующий ярлык. пытаюсь так:
Код: vbnet
1.
2.
3.
Set lnk = whs.CreateShortcut(whs.SpecialFolders("Desktop") & "\" & FileName)
lnk.Arguments = "/secondary"
lnk.Save

получается какая-то хрень а нет. всё работает. просто так идеально, что изменения в ярлыке незаметны для глаз. просто добавляются параметры в уже существующий ярлык. а я думал придётся возиться с извлечением свойств, удалением и замещением ярлыка. оказалось всё намного проще
...
Рейтинг: 0 / 0
работа с объектами
    #37851094
QlewerQlewerя пока что пытаюсь сообразить, как прописать параметры в существующий ярлык. пытаюсь так:
Код: vbnet
1.
2.
3.
Set lnk = whs.CreateShortcut(whs.SpecialFolders("Desktop") & "\" & FileName)
lnk.Arguments = "/secondary"
lnk.Save

получается какая-то хрень а нет. всё работает. просто так идеально, что изменения в ярлыке незаметны для глаз. просто добавляются параметры в уже существующий ярлык. а я думал придётся возиться с извлечением свойств, удалением и замещением ярлыка. оказалось всё намного проще
В чём смысл?
Открыл ярлык, заменил параметры....
Или ты вредоносное что то пытаешься?

ноги бреешь?
...
Рейтинг: 0 / 0
работа с объектами
    #37851099
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван ДырявыйВ чём смысл?
Открыл ярлык, заменил параметры.... провода провёл, перегоревшие лампы заменил и пока педали аккомулятора крутишь можно в косынку сыграть Иван Дырявыйноги бреешь? у меня рецесивные гены: волосы светлые. можно не бриться - и так красиво XD
...
Рейтинг: 0 / 0
работа с объектами
    #37851273
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван ДырявыйОткрыл ярлык, заменил параметры....
Или ты вредоносное что то пытаешься?Это он пытается скайп вторым экземпляром запустить... Наверное, думает, что если будет подменить свойства ярлыка для запуска - то и прога подумает, что это совершенно другой её экземпляр
BZ, хватит страдать-то. Документацию по Skype (знаешь же, где F1) хоть удосужился поизучать? И что там говорится по поводу запуска нескольких экземпляров. А также работы через одно и то же сетевое подключение к ИНету.
...
Рейтинг: 0 / 0
25 сообщений из 41, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / работа с объектами
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]