Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: shell link

Arttut02 [08.07.2004 11:35:31]

#

Private Declare Function OSfCreateShellLink Lib "vb6stkit.dll" Alias "fCreateShellLink" (ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArguments As String, ByVal fPrivate As Long, ByVal sParent As String) As Long

Voisiko joku kertoa, mitä nuo sPrivate ja sParent tuossa ovat? vb5stkit:stä löytyi allapi:sta tietoja kyllä, mutta tästä en ole löytänyt samanlaista dokumenttia... malleja kyllä löytyi, joissa sParent oli esim. "$(Programs)".. (mitäs tuo sitten tarkoittaa?)..
Jos jollain on muita ratkaisuja saada shortcutteja työpöydälle (kaikille käyttäjille), niin vihjeitä otetaan vastaan..

Lisäystä:
Nyt tuli vielä sellainen ongelma, että kun etsin APIlla All User Desktop -polun ja laitan sen lpstrFolderName -kohtaan, niin ei fCreateShellLink toimi, vaan siihen on pistettävä ..\..\..\All Users\Desktop... mutta ei (mielestäni) ole kovin suotavaa ruveta itse koodiin kirjoittelemaan polkuja.. olisiko muuta keinoa päästä tästä ongelmasta kuin ruveta käsittelemään stringiä?

BadSource [08.07.2004 12:51:54]

#

Käytä vain tuota fCreateShellLink:ä, kun kerran se ajaa asiansa.

fCreateShellLink lähtee jostain oletushakemistosta liikenteeseen, josta tullaan alas kaksi askelta (..\..\), jos luot linkin omalle työpäydällesi ja kolme (..\..\..\) jos haluat luoda linkin jonkun toisen käyttäjän työpäydälle.

Tuo on (luultavasti) tehty noin helpottamaan linkkien luontia, sillä sinun ei tarvitse tietää asemaa eikä paljoa muutakaan luodaksesi linkkejä työpäydälle. All Users\Desktop on sellainen vakio, ettei sen muuttaminen joksikin toiseksi niin, että kaikki toimiii vielä muutoksen jälkeen, on melko hankalaa. Tavallinen Kalle Kaduntallaaja tyytyy noihin oletushakemistoihin eikä niitä muuta, enkä näe syytä miksi Turo Turbokäyttäjäkään niitä muuttamaan lähtisi.

Arttut02 [09.07.2004 09:28:30]

#

Vähän tuntuisi, et toi mParent viittaisi siihen kansioon mistä lähdetään liikenteeseen... Mutta voiko totakaan kirjottaa noin, vai onko se joku windowssin "vakio".. joka automaattisesti viittaa nykyisen käyttäjän Programs -kansioon(windowsin kieliversiosta huolimatta).. Jos olen olettanut oikein, niin olisiko jotain millä löytäisi suoraan sen allUser:n ja sieltä Desktopin?

Kun kirjoitin, etten tota "..\..\..\All Users\Desktop" -polkua haluaisi kirjoittaa, niin päähuoleni oli se että jos on esim. suomenkielinen win, niin silloin viittaa väärään paikkaan...

Tällaisia tälläkertaa ;)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta