vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: SHBrowseForFolder ohne UNC-Pfade 
Autor: Notausstieg
Datum: 22.09.08 17:26

Selbst das funktioniert nicht. hier jetzt mal den Quelltext meiner Funktion (Da fehlt einiges, da ein Foreneintrag max. 5KB groß sein darf)

Private Const MAX_PATH = 260
Private Const WM_USER = &H400
Private Const BFFM_INITIALIZED = 1
Private Const BFFM_SELCHANGED As Long = 2
Private Const BFFM_SETSTATUSTEXTA As Long = (WM_USER + 100)
Private Const BFFM_SETSTATUSTEXTW As Long = (WM_USER + 104)
Private Const BFFM_ENABLEOK As Long = (WM_USER + 101)
Private Const BFFM_SETSELECTIONA As Long = (WM_USER + 102)
Private Const BFFM_SETSELECTIONW As Long = (WM_USER + 103)
Private Const OFN_NONETWORKBUTTON As Long = &H20000
Private Const BIF_NEWDIALOGSTYLE As Long = &H40
Private Const BIF_RETURNONLYFSDIRS As Long = &H1
Private Const BIF_BROWSEINCLUDEFILES As Long = &H4000
Private Const BIF_STATUSTEXT As Long = &H4
Private Const LMEM_FIXED = &H0
Private Const LMEM_ZEROINIT = &H40
Private Const LPTR = (LMEM_FIXED Or LMEM_ZEROINIT)
 
' Zeigt den BrowseForFolder-Dialog an.
Public Function BrowseForFolder(DialogText As String, _
  DefaultPath As String, _
  OwnerhWnd As Long, _
  Optional ShowCurrentPath As Boolean = True, _
  Optional RootPath As Variant, _
  Optional NewDialogStyle As Boolean = False, _
  Optional IncludeFiles As Boolean = False) As String
 
 
  Dim biBrowseInfo As BROWSEINFO
  Dim lPIDL As Long
  Dim sBuffer As String
  Dim lBufferPointer As Long
 
  With biBrowseInfo
    ' Handle des übergeordneten Fensters
    .hOwner = OwnerhWnd
 
    ' PIDL des Rootordners zuweisen
    If Not IsMissing(RootPath) Then .pidlRoot = PathToPIDL(RootPath)
 
    ' Dialogtext zuweisen
    If ShowCurrentPath And DialogText = "$" Then DialogText = "" ' Wird intern 
    ' nicht zugelassen
    .lpszTitle = DialogText
 
    ' Stringbuffer für aktuell selektierten Pfad zuweisen
    If ShowCurrentPath Then .pszDisplayName = sBuffer
 
    ' Dialogeinstellungen zuweisen
   .ulFlags = OFN_NONETWORKBUTTON Or BIF_RETURNONLYFSDIRS Or _
      IIf(ShowCurrentPath, BIF_STATUSTEXT, 0) Or _
      IIf(NewDialogStyle, BIF_NEWDIALOGSTYLE, 0) Or _
      IIf(IncludeFiles, BIF_BROWSEINCLUDEFILES, 0)
 
    ' Callbackfunktion-Adresse zuweisen
    .lpfnCallback = FARPROC(AddressOf CallbackString)
 
    ' PIDL des vorselektierten Ordnerpfades zuweisen (wird im
    ' lpData-Parameter an die Callback-Funktion weitergeleitet)
    .lParam = PathToPIDL(DefaultPath)
  End With
 
  ' BrowseForFolder-Dialog anzeigen
  lPIDL = SHBrowseForFolder(biBrowseInfo)
 
  If lPIDL Then
    ' Stringspeicher reservieren
    sBuffer = Space$(MAX_PATH)
 
    ' Selektierten Pfad aus der zurückgegebenen PIDL ermitteln
    SHGetPathFromIDList lPIDL, sBuffer
 
    ' Nullterminierungszeichen des Strings entfernen
    sBuffer = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
 
    ' Selektierten Pfad zurückgeben
    BrowseForFolder = sBuffer
 
    ' Reservierten Task-Speicher wieder freigeben
    Call CoTaskMemFree(lPIDL)
  End If
 
  ' Stringspeicher wieder freigeben
  If ShowCurrentPath Then Call LocalFree(lBufferPointer)
End Function
Dazu gehören noch weitere Funktionen und Anweisungen

Hab aber an dem Code bis auf die Flags nichts geändert.

Danke

Grüße

Notausstieg
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
SHBrowseForFolder ohne UNC-Pfade1.469Notausstieg21.09.08 16:54
Re: SHBrowseForFolder ohne UNC-Pfade893VBStein21.09.08 21:05
Re: SHBrowseForFolder ohne UNC-Pfade879Notausstieg22.09.08 07:16
Re: SHBrowseForFolder ohne UNC-Pfade886VBStein22.09.08 09:01
Re: SHBrowseForFolder ohne UNC-Pfade925Notausstieg22.09.08 09:46
Re: SHBrowseForFolder ohne UNC-Pfade901Notausstieg22.09.08 16:17
Re: SHBrowseForFolder ohne UNC-Pfade873Lordcroc22.09.08 16:37
Re: SHBrowseForFolder ohne UNC-Pfade1.013Notausstieg22.09.08 17:26

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel