Avatar billede tubber Juniormester
12. december 2002 - 00:10 Der er 16 kommentarer og
2 løsninger

System bibloteker

Er der nogen måde man kan kalde system biblotekerne på ud over den relative sti ?
Må gerne virke i både NT/2k/xp og Win9x/ME....
Hvis ikke vil jeg gerne have begge metoder.....

/Tubber
Avatar billede tubber Juniormester
12. december 2002 - 00:12 #1
Skal lige siges når jeg mener system dir er det ikke windows diret, men desktop, my documents, my pictures osv.
Og gerne IIS/PWS direne......
Avatar billede sjh Nybegynder
12. december 2002 - 00:41 #2
Prøv i ASP cat :)
Avatar billede tubber Juniormester
12. december 2002 - 00:44 #3
Hvorfor det når det er i vb jeg skal bruge det ?
Så er det vel først i forkert cat hehehe
Avatar billede joern Nybegynder
12. december 2002 - 00:53 #4
Hej Tubber.

Du kender selv til FSO, jeg gør stort set ikke.  Men der er den der:  getspecialfolder.

Dim fso
set fso = CreateObject("Scripting.FileSystemObject")
  Msgbox("Din windowsmappe er: " & fso.getspecialfolder(0))
  Msgbox("Din systemmappe er: " & fso.getspecialfolder(1))
  Msgbox("Din tempmappe er: " & fso.getspecialfolder(2))

Jeg kan ikke bruge det i min VB5, men hvad mon nr. 3 - 4- og 5 er?

M.v.h.  Jørn
Avatar billede joern Nybegynder
12. december 2002 - 01:05 #5
Hej. 

Hos MS er kun tallene 0 - 2 valide.

Har søgt på Google, måske er dette noget til inspiration:

Opening special Explorer windows

The following code snippet shows you how to open special Explorer windows, like My Computer, Control Panel, Printers, Fonts and more...

'Opening Special Explorer Windows
'Written by Nir Sofer
'Web site: http://nirsoft.cjb.net

Private Declare Function SHGetSpecialFolderPath Lib "shell32.dll" Alias "SHGetSpecialFolderPathA" (ByVal hwndOwner As Long, ByVal lpszPath As String, ByVal nFolder As Long, ByVal fCreate As Long) As Long

Private Const CSIDL_FONTS = &H14
Private Const CSIDL_DESKTOP = &H0
Private Const CSIDL_FAVORITES = &H6
Private Const CSIDL_RECENT = &H8
Private Const CSIDL_COOKIES = &H21
Private Const CSIDL_HISTORY = &H22

Private Const NameSpace_MyComputer = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
Private Const NameSpace_RecycleBin = "::{645FF040-5081-101B-9F08-00AA002F954E}"
Private Const NameSpace_NetworkNeighborhood = "::{208D2C60-3AEA-1069-A2D7-08002B30309D}"
Private Const NameSpace_Dialup = "::{a4d92740-67cd-11cf-96f2-00aa00a11dd9}"
Private Const NameSpace_ControlPanel = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}"
Private Const NameSpace_Printers = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{2227A280-3AEA-1069-A2DE-08002B30309D}"
Private Const NameSpace_ScheduledTasks = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}"

Private Const MAX_PATH = 260


Private Sub OpenExplorerWindow(FolderName As String)
    Shell "explorer " & FolderName, vbNormalFocus
End Sub

Private Function TrimNull(Str1 As String) As String
    Dim Loc        As Integer
 
    Loc = InStr(Str1, Chr$(0))
    If Loc <> 0 Then
        TrimNull = Mid$(Str1, 1, Loc - 1)
    Else
        TrimNull = Str1
    End If
End Function

Private Function GetSpecialFolder(Folder As Long) As String
    Dim FolderPath          As String * MAX_PATH
    SHGetSpecialFolderPath 0, FolderPath, Folder, 0
    GetSpecialFolder = TrimNull(FolderPath)
End Function

Private Sub cmdControlPanel_Click()
    OpenExplorerWindow NameSpace_ControlPanel
End Sub

Private Sub cmdDialup_Click()
    OpenExplorerWindow NameSpace_Dialup
End Sub

Private Sub cmdCookies_Click()
    OpenExplorerWindow GetSpecialFolder(CSIDL_COOKIES)
End Sub

Private Sub cmdDesktop_Click()
    OpenExplorerWindow GetSpecialFolder(CSIDL_DESKTOP)
End Sub

Private Sub cmdFavorites_Click()
    OpenExplorerWindow GetSpecialFolder(CSIDL_FAVORITES)
End Sub

Private Sub cmdFonts_Click()
    OpenExplorerWindow GetSpecialFolder(CSIDL_FONTS)
End Sub

Private Sub cmdHistory_Click()
    OpenExplorerWindow GetSpecialFolder(CSIDL_HISTORY)
End Sub

Private Sub cmdMyComputer_Click()
    OpenExplorerWindow NameSpace_MyComputer
End Sub

Private Sub cmdNetworkNeighborhood_Click()
    OpenExplorerWindow NameSpace_NetworkNeighborhood
End Sub

Private Sub cmdPrinters_Click()
    OpenExplorerWindow NameSpace_Printers
End Sub

Private Sub cmdRecent_Click()
    OpenExplorerWindow GetSpecialFolder(CSIDL_RECENT)
End Sub

Private Sub cmdRecycleBin_Click()
    OpenExplorerWindow NameSpace_RecycleBin
End Sub

Private Sub cmdScheduledTasks_Click()
    OpenExplorerWindow NameSpace_ScheduledTasks
End Sub

M.v.h.  Jørn
Avatar billede joern Nybegynder
12. december 2002 - 01:11 #6
Der er mange svar på Google, her er et fra Ukraine.

http://www.vb.kiev.ua/ref/w32api/showdoc.php?f=shellabout

Nu skal jeg nok stoppe!

Jørn
Avatar billede tubber Juniormester
12. december 2002 - 01:13 #7
Joern:

Efter hvad jeg kan se ud fra det du har givet mig og lidt hjælp fra google så er der kun 0, 1 og 2....men de funker fint nok, men ikke dem jeg skal bruge :O)

som sagt er det desktop, my documents osv. det er til noget backup jeg sidder og roder med.....

/Tubber
Avatar billede tubber Juniormester
12. december 2002 - 01:15 #8
Der var noget af det :O) ser lige på dit link fra ukraine :)
Avatar billede tubber Juniormester
12. december 2002 - 01:24 #9
Nu har jeg siddet og kigget det lidt igennem, og der er halvdelen af det jeg skal bruge, nemlig favoritter og desktop....
Så mangler jeg bare my documents og my pictures

Og hvis det er muligt så den folder pst filer ligger i og så www dir under pws/iis (dem er jeg ikke sikre på de findes....).....

Så halvdelen af pointsne er dine joern :O)

/Tubber
Avatar billede tubber Juniormester
12. december 2002 - 01:37 #10
fandt selv documents :O)
ser ikke ud til at my pictures er lige til at finde på den måde....
kigger lige lidt vidre, og lader spg stå åbent.....
Avatar billede tubber Juniormester
12. december 2002 - 01:43 #11
fandt også den anden :O) tror det er en komplet liste jeg fandt så smidder lige url :

http://vbtechniques.com/content.asp?a=co&cID=624
Avatar billede sjh Nybegynder
12. december 2002 - 09:41 #12
joern << Du siger at du ikke kan bruge det i din vb5.

(Jeg kan ikke bruge det i min VB5, men hvad mon nr. 3 - 4- og 5 er?
)

Jeg bruger også vb5 og der virker det da fint, så det skulle du også kunde.

3,4 og 5 virker ikke :-)
Avatar billede joern Nybegynder
12. december 2002 - 11:07 #13
Sjh>>

Du har ret.  De tre kommandoer virker, men flere andre FSO options understøttes ikke.  Husker ikke lige hvilken jeg forsøgte med.  Men det jeg mente var at udbredt FSO-anvendelse ikke er mulig i VB5.

Tak for opmærksomheden.  M.v.h.  Jørn
Avatar billede picard Nybegynder
12. december 2002 - 13:40 #14
Avatar billede michaelemanuel Nybegynder
17. december 2002 - 08:09 #15
Du skal blot aflæse dette fra registry :
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\
My Picture="..."
Desktop="..."
Personal="...", osv.
Eller fælles mapper for alle brugere under :
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\
CommonPictures="..."
Avatar billede tubber Juniormester
29. december 2002 - 17:13 #16
joern smidder du et svar ?
Avatar billede joern Nybegynder
29. december 2002 - 17:19 #17
Hej Tubber.

Ja da, skal jeg have point!!

Godt nytår  m.v.h.  Jørn
Avatar billede tubber Juniormester
29. december 2002 - 18:04 #18
Som sagt så var det dine ½ delen :O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester