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

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

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

Сообщение Decaz » 04.01.2005 (Вт) 17:15

Как запихнуть файл, ну например ярлык one.lnk в автозагрузку Windows?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 04.01.2005 (Вт) 19:41

Азбучный вопрос. Поиск по форуму. Это обсуждалось уже миллион раз. Ключевые слова- run, runonce.
I don't understand. Sorry.

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 04.01.2005 (Вт) 22:34

Можно так :wink:

Запись в реестр:

Private Sub Form_Load()
Set Reg = CreateObject("WScript.Shell")
Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\proga", "C:\Program Files\Myprogs\myprog.exe"
End Sub

Удаление из реестра:

Private Sub Command1_Click()
Set Reg = CreateObject("WScript.Shell")
Reg.RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\proga"
End Sub

:D

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

Сообщение GM » 05.01.2005 (Ср) 2:28

Отвечаю на вопрос как скопировать ярлык в автозагрузку, а не в реестр:
Код: Выделить всё
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 Type SHITEMID
    cb As Long
    abID As Byte
End Type
Private Type ITEMIDLIST
    mkid As SHITEMID
End Type
Const CSIDL_STARTUP = &H7
Private Function GetSpecialfolder(CSIDL As Long) As String
    Dim r As Long
    Dim IDL As ITEMIDLIST
    'Get the special folder
    r = SHGetSpecialFolderLocation(100, CSIDL, 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
        GetSpecialfolder = Left$(Path, InStr(Path, Chr$(0)) - 1)
        Exit Function
    End If
    GetSpecialfolder = ""
End Function
Sub AutoRun()
call FileCopy("one.lnk",getspecialfolder(CSIDL_STARTUP))
end sub

ЗЫ: Код не тестировал, возможно есть ошибки
الفيجوال بيسك الرابح

Decaz
Обычный пользователь
Обычный пользователь
 
Сообщения: 86
Зарегистрирован: 30.09.2004 (Чт) 19:43
Откуда: Москва

Сообщение Decaz » 10.01.2005 (Пн) 20:44

Во всяком случае, спасибо :)


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

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

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

    TopList