/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Finde "My Documents" directory via API ?
Fra : Thomas Daugaard


Dato : 03-09-01 00:36

Hvordan finder jeg ud af den rigtige sti til mappen "My Documents" via API ?
Jeg har kun kunnet finde GetWindowsDirectory(), GetSystemDirectory() og
GetTempPath() til at finde system dirs., men dem kan jeg ikke rigtigt bruge
jo ;o(

Nogle der ved det ??

På forhånd tak,
Thomas Daugaard



 
 
Jens (03-09-2001)
Kommentar
Fra : Jens


Dato : 03-09-01 00:53

Jeg bruger dette......uden api

Public Property Get MyDocuments() As String

Dim WshShell As Object
Set WshShell = CreateObject("Wscript.Shell")

MyDocuments = WshShell.SpecialFolders("MyDocuments")

End Property




Thomas Daugaard (03-09-2001)
Kommentar
Fra : Thomas Daugaard


Dato : 03-09-01 02:15

"Jens" <til@infojens.dk> wrote in message
news:3b92c669$0$269$edfadb0f@dspool01.news.tele.dk...
> Jeg bruger dette......uden api
>
> Public Property Get MyDocuments() As String
>
> Dim WshShell As Object
> Set WshShell = CreateObject("Wscript.Shell")
>
> MyDocuments = WshShell.SpecialFolders("MyDocuments")
>
> End Property
>
>
>

Hej Jens,

Jeg har fundet ud af det med API (ikke såå svært igen, men svært nok
...), men ellers tak
Late binding af objekter har jeg *ladet mig fortælle* ikke er såå fedt igen,
hvis man bruger det meget.
Det skulle efter sigende være langsomt.

Men på den anden side er API måden en hel del længere kodemæssigt Til
gengæld giver den mig adgang
til 18 specielle mapper så som Desktop, TemporaryInternetFiles, Cookies,
History osv.

Hvis der er nogle der leder efter det samme skal jeg gerne poste API måden.

Mvh, Thomas Daugaard



Jens (03-09-2001)
Kommentar
Fra : Jens


Dato : 03-09-01 03:11

Jeg vil da gerne se din version !



Thomas Daugaard (03-09-2001)
Kommentar
Fra : Thomas Daugaard


Dato : 03-09-01 04:01

"Jens" <til@infojens.dk> wrote in message
news:3b92e6ca$0$260$edfadb0f@dspool01.news.tele.dk...
> Jeg vil da gerne se din version !
>
>

Se'følig da
Det er _ikke_ mig der har skrevet koden; den er fundet på PSC
(www.planetsourcecode.com), men jeg har pillet lidt ved
den (fjernet kommentarer og sårn):


-------------------------------------
Const MAX_PATH = 260

Public Enum SystemFolder
Desktop = 0
StartMenu_Programs = 2
My_Documents = 5
Favorites = 6
Startup = 7
Recent = 8
SentTo = 9
Start_Menu = 11
Windows_Desktop = 16
Network_Neighborhood = 19
Fonts = 20
ShellNew = 21
AllUsers_Desktop = 25
ApplicationData = 26
Printhood = 27
TemporaryInternetFiles = 32
Cookies = 33
History = 34
End Enum

Private Declare Function SHGetSpecialFolderLocation Lib "shell32" (ByVal
hwnd As Long, ByVal nFolder As Long, Pidl As Long) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (Pidl As Long,
ByVal FolderPath As String) As Long

Private Function FindSystemFolder(ByVal lngNum As SystemFolder) As String
On Error GoTo FindSystemFolder_Err

Dim lpStartupPath As String * MAX_PATH
Dim Pidl As Long
Dim hResult As Long

hResult = SHGetSpecialFolderLocation(0, lngNum, Pidl)

If hResult = 0 Then
hResult = SHGetPathFromIDList(ByVal Pidl, lpStartupPath)

If hResult = 1 Then
lpStartupPath = Left$(Trim$(lpStartupPath), InStr(lpStartupPath,
Chr(0)) - 1)
FindSystemFolder = Trim$(lpStartupPath)
End If
End If

FindSystemFolder_Err:
Exit Function
End Function
-------------------------------------

Brugen af koden burde være åbenlyst ..

Mvh, Thomas Daugaard



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste