Newsgroup: it.comp.lang.visual-basic
Titolo: Menu Avvio

Esiste una dll che permette di ottenere il percorso completo della cartella
"Menu Avvio\Programmi" in Win95 e NT ?
Grazie 


Sul Sito Comune di questo NG c'e' un sorgente (mi pare si chiami
CartelleSTD.zip) che ricava le cartelle standard (usate dal sistema) di
windows, dipo Fonts, SendTo ecc...
Probabilemnte c'e' anche quella che dici tu.
http://www.murialdo.it/it_lang_vb
Ciao
By -MES-
Ettore Maronese
http://ilmes.freeweb.org

"Menu Avvio\Programmi" in Win95 e NT ?
Veramente e' facilissimo... tu con l'API trovo la directori di windows
e mettiamo che tu la metta sotto winpaht
aggiungi a winpath "\menu avvio\programmi\ e quello e' il posto dove
puoi mettere i tuoi dati.
Ciao
********* Federico Emanuele Galli  *********
Sideralis Programs (Visual-Basic and Delphi)
 
http://www.softitaly.com/sideralis
  Hai domande ? It.comp.lang.visual-basic
---> 
http://www.murialdo.it/it_lang_vb
 <---

puoi mettere i tuoi dati.
...sperando che non abbia la versione inglese di Windows ;)
Ciao.
--
Luca Dormio
l...@sig-la.com
ldo...@tin.it


Ma cosi' non funziona con i "windows" stranieri che il Bill a distribuito!
Forse è meglio come dice Ettore!
Ciao, Marco

Fai cosě:
Hai bisogno della libreria STKIT432.DLL di VB4 (quella usata dal programma di Setup)
Public Declare Function SHGetSpecialFolderLocation Lib "shell32" (ByVal hwndOwner As Long, ByVal nFolder As Long, ByRef
ppidl As Long) As Long
Public Declare Function SHGetPathFromIDListA Lib "shell32" (ByVal pidl As Long, ByRef pszPath As Byte) As Long
Public Declare Function fCreateShellLink Lib "STKIT432.DLL" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As
String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArgs As String) As Long
Public GetPathDirectory As String
Function DirStartup()
 
    Dim lngPuntPIDL As Long
    Dim strPath(0 To 260) As Byte
    Dim strTemp As String
    Dim lngBoh As Long
    Dim lngTemp As Long
    lngTemp = SHGetSpecialFolderLocation(vbNull, 7, lngPuntPIDL)
    lngTemp = SHGetPathFromIDListA(lngPuntPIDL, strPath(0))
    If lngTemp <> 0 Then
        lngTemp = 0
        strTemp = ""
        While strPath(lngTemp) <> 0
            strTemp = strTemp & Chr(strPath(lngTemp))
            lngTemp = lngTemp + 1
        Wend
        GetPathDirectory = strTemp
    Else
        GetPathDirectory = ""
    End If
 
    aaa = ""
    bbb = ""
    i = Len(GetPathDirectory)
 
    Do
        aaa = Mid(GetPathDirectory, i, 1)
        If aaa = "\" Then Exit Do
        bbb = Mid(GetPathDirectory, i, Len(GetPathDirectory))
        i = i - 1
    Loop Until i = 1
 
    DirStartup = bbb
 
End Function
iLong = fCreateShellLink(DirStartup, "MioProgramma", App.Path & "\" & App.EXEName & ".exe", "")
Se vuoi, puoi sostituire alla libreria di VB4, quella di VB5: VB5STKIT.DLL, oppure quella analoga di VB6.
Ciao,
Moreno
#sirri#@
tin.it
(togliete "#" dall'indirizzo)
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

...
 > Esiste una dll che permette di ottenere il percorso completo della
cartella
 > "Menu Avvio\Programmi" in Win95 e NT ?
 > 
 > Grazie 
 > 
Il trucco è leggere il valore giusto della chiave del registro di
configurazione, usando le API adatte. In questo modo il percorso non
dipende dalla lingua o dal sistema specifico. Come ti ha suggerito Moreno,
puoi usare le funzioni del setup kit; io comunque ho implementato un .BAS
in VB che legge parecchi valori dal registry, tra cui quello che ti
interessa. Se vuoi te le posso postare per E-Mail.

Frase di rito:
perché non lo invii al Sito Comune?
credo che possa interessare a molti..... (me compreso...)
