Автозагрузка

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
юрка
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 05.05.2005 (Чт) 15:18

Автозагрузка

Сообщение юрка » 07.05.2005 (Сб) 18:41

Здравствуйте :!:
Подскажите как лучше прогу в автозагрузку занести. Операционная система ХР
С уважением,
Юрка

badDRAGON
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 07.11.2003 (Пт) 11:16
Откуда: krasnodar

Сообщение badDRAGON » 07.05.2005 (Сб) 18:45

Автозагрузка вашей программы со стартом Windows
А также удаление программы из автозагрузки.
Еще один полезный совет, как можно загружать вашу программу вместе с загрузкой Windows. Все просто: вы должны указать "Имя твоей проги" и "Путь к твоей проге", то есть имя вашей программы для загрузки, а также ПОЛНЫЙ путь к ней на жестком диске, если она не лежит в директории Windows.

Пример гораздо проще для использования, чем возможность работы с реестром через API_функции. >>>


Код: Выделить всё
Private Sub Command1_Click() 'Запись в реестр
Set Reg = CreateObject("WScript.Shell")
Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Имя твоей проги", "Путь к твоей проге"
End Sub

Private Sub Command2_Click() 'Удаление из реестра
Set Reg = CreateObject("WScript.Shell")
Reg.RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Имя твоей проги"
End Sub

Изображение

badDRAGON
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 07.11.2003 (Пт) 11:16
Откуда: krasnodar

Сообщение badDRAGON » 07.05.2005 (Сб) 19:00

а вообще,вот на будущее,если там не найдешь,то только тогда пиши:
http://vbnet.ru/faq/showall.asp
Изображение

юрка
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 05.05.2005 (Чт) 15:18

Сообщение юрка » 07.05.2005 (Сб) 19:06

Спасибо. Сейчас пойду пробовать.

юрка
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 05.05.2005 (Чт) 15:18

Сообщение юрка » 08.05.2005 (Вс) 10:21

Здраствуйте. Я попробовал. Но если поменять директорию то она же не будет работать. А как сделать так чтоб не зависимо куда её запихать, переместить она всёравно бы работала.

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 08.05.2005 (Вс) 10:33

FileCopy App.Path & "\<название твоей проги>.exe", "C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка\<название твоей проги>.exe"

P.S. Всё написано одной строчкой!

badDRAGON
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 07.11.2003 (Пт) 11:16
Откуда: krasnodar

Сообщение badDRAGON » 08.05.2005 (Вс) 13:48

neic писал(а):FileCopy App.Path & "\<название твоей проги>.exe", "C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка\<название твоей проги>.exe"

P.S. Всё написано одной строчкой!


все так,но... если это 95 винда,и англоязычная,и при том,что сам экзешник копировать не надо....

badDRAGON
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 07.11.2003 (Пт) 11:16
Откуда: krasnodar

Сообщение badDRAGON » 08.05.2005 (Вс) 13:58

юрка писал(а):Здраствуйте. Я попробовал. Но если поменять директорию то она же не будет работать. А как сделать так чтоб не зависимо куда её запихать, переместить она всёравно бы работала.


вот:
Код: Выделить всё
Private Sub Command1_Click() 'Запись в реестр
Set Reg = CreateObject("WScript.Shell")
Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" & App.EXEName & ".exe",app.path & ""
End Sub

Private Sub Command2_Click() 'Удаление из реестра
Set Reg = CreateObject("WScript.Shell")
Reg.RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" & App.EXEName & ".exe"
End Sub


вот...

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 08.05.2005 (Вс) 14:16

badDRAGON писал(а):Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" & App.EXEName & ".exe",app.path & ""


Ага... ну запишет он тебе в реестр путь к папке с программой. А дальше что? :)[/quote]
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

badDRAGON
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 07.11.2003 (Пт) 11:16
Откуда: krasnodar

Сообщение badDRAGON » 08.05.2005 (Вс) 16:27

kirrun писал(а):
badDRAGON писал(а):Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" & App.EXEName & ".exe",app.path & ""


Ага... ну запишет он тебе в реестр путь к папке с программой. А дальше что? :)
[/quote]

ничего...а что еще что-то надо?Изображение

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 08.05.2005 (Вс) 16:31

Надо чтобы было имя екзешника :lol:

Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName & ".exe", app.path & "\" & app.EXEName & ".exe"
Последний раз редактировалось kirrun 08.05.2005 (Вс) 16:33, всего редактировалось 1 раз.
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

badDRAGON
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 07.11.2003 (Пт) 11:16
Откуда: krasnodar

Сообщение badDRAGON » 08.05.2005 (Вс) 16:32

кстати,он запишет полное имя проги еще

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 08.05.2005 (Вс) 16:35

он это кто?
и запишет куда?
от того, что он в имя параметра напишет имя проги толку не будет =) Записывать-то надо в путь =)
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

badDRAGON
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 07.11.2003 (Пт) 11:16
Откуда: krasnodar

Сообщение badDRAGON » 08.05.2005 (Вс) 16:37

а это что?:
(выделенно стрелками "=>" "<=" )
Код: Выделить всё
Private Sub Command1_Click() 'Запись в реестр
Set Reg = CreateObject("WScript.Shell")
Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\" & =>App.EXEName & ".exe" <= ,app.path & "\"
End Sub


больше ничего не надо,все работает....
Изображение

badDRAGON
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 07.11.2003 (Пт) 11:16
Откуда: krasnodar

Сообщение badDRAGON » 08.05.2005 (Вс) 16:41

вот 100% правильный оригинал...


Код: Выделить всё
Private Sub Command1_Click() 'Запись в реестр
Set Reg = CreateObject("WScript.Shell")
Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Имя твоей проги", "Путь к твоей проге"
End Sub

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 08.05.2005 (Вс) 16:42

Это тебе кажется.

1) Имя - это имя, путь - это путь. не путать
2) туда, хде стрелками выделено пихать можно (вообще-то и нужно) все, что угодно.
3)Дописывать в путь название приложения из имени параметра (если такового нету в самом пути) умеют винды тока начиная с 2к
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

badDRAGON
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 07.11.2003 (Пт) 11:16
Откуда: krasnodar

Сообщение badDRAGON » 08.05.2005 (Вс) 16:51

незнаю...у меня с 98 все работает...но спасибо,коли так....

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 08.05.2005 (Вс) 17:28

хм... или наоборот до 2к... Короче, вывод: в имени параметра пишем что угодно, а в пути полный путь включае ехе
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 08.05.2005 (Вс) 19:11

badDRAGON писал(а):а это что?:
(выделенно стрелками "=>" "<=" )
Код: Выделить всё
Private Sub Command1_Click() 'Запись в реестр
Set Reg = CreateObject("WScript.Shell")
Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" & =>App.EXEName & ".exe" <= ,app.path & ""
End Sub


больше ничего не надо,все работает....
Изображение

А вот и неправильно, app.path & "" , а если app.path = "C:", то что получается "C:" ?
А папку автозагрузки можна узнать вот так:
Код: Выделить всё
Const CSIDL_STARTUP = &H7
Const MAX_PATH = 260
Private Type SHITEMID
    cb As Long
    abID As Byte
End Type
Private Type ITEMIDLIST
    mkid As SHITEMID
End Type
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Function GetStartUpFolder() As String
    Dim r As Long
    Dim IDL As ITEMIDLIST
    'Get the special folder
    r = SHGetSpecialFolderLocation(100, &H7, IDL)
    If r = NOERROR Then
        'Create a buffer
        Path$ = Space$(512)
        'Get the path from the IDList
        r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$)
        'Remove the unnecessary chr$(0)'s
        GetStartupfolder = Left$(Path, InStr(Path, Chr$(0)) - 1)
        Exit Function
    End If
    GetStartupfolder = ""
End Function
الفيجوال بيسك الرابح


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19

    TopList