vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 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: startmenü & aktueller pfad ermitteln 
Autor: tobi1492
Datum: 10.08.06 11:07

irgendwie hab ich ä paar probleme und zwar:


_______________________________________________________________

' Ordner-Auflistung
Public Enum SpecialFolderIDs
sfidDESKTOP = &H0 ' Desktop
sfidPROGRAMS = &H2 ' Start Menu\Programs

'Musste das ganze ä bisle kürze, weil die nachricht zu lang ist

Menu\Programs\Administrative Tools
sfidADMINTOOLS = &H30 ' \Start Menu\Programs\Administrative Tools
sfidProgramFiles = &H10000
sfidCommonFiles = &H10001
End Enum

Private Type SHITEMID
cb As Long
abID As Byte
End Type

Private Type ITEMIDLIST
mkid As SHITEMID
End Type

Private Declare Function SHGetSpecialFolderLocation Lib _
"shell32.dll" (ByVal hwndOwner As Long, _
ByVal nFolder As Long, pidl As ITEMIDLIST) As Long

Private Declare Function SHGetPathFromIDList Lib _
"shell32.dll" Alias "SHGetPathFromIDListA" _
(ByVal pidl As Long, ByVal pszPath As String) As Long

' Verknüpfung erstellen über das Shell-Objekt (Shell32.dll)
Public Function CreateShortcut(ByVal sLinkFile As String, _
ByVal sTargetFile As String, _
Optional ByVal sArguments As String, _
Optional ByVal sDescription As String, _
Optional ByVal sWorkingDir As String)

Dim oShell As New Shell32.Shell
Dim oFolder As Shell32.Folder
Dim oLink As Shell32.ShellLinkObject

Dim sPath As String
Dim sFile As String
Dim F As Integer

' Ordner und Dateiname extrahieren
sPath = Left$(sLinkFile, InStrRev(sLinkFile, "\") - 1)
sFile = Mid$(sLinkFile, InStrRev(sLinkFile, "\") + 1)

' Link-Datei mit 0 Bytes erstellen, da die
' LNK-Datei bereits voranden sein muss!
F = FreeFile
Open sLinkFile For Output As #F: Close #F ''''''''''''''''''''''''''''''''''''''''''''hier tritt immer ein fehler auf, schaue nach unten

Set oFolder = oShell.NameSpace(sPath)
Set oLink = oFolder.Items.Item(sFile).GetLink

' Eigenschaften der Verknüpfung
With oLink
If sArguments <> "" Then .Arguments = sArguments
If sDescription <> "" Then .Description = sDescription
If sWorkingDir <> "" Then .WorkingDirectory = sWorkingDir
.Path = sTargetFile

' Verknüpfung speichern
.Save
End With

' Objekte zerstören
Set oLink = Nothing
Set oFolder = Nothing
Set oShell = Nothing
End Function


' Standard Systemordner ermitteln
Public Function GetSpecialFolder(CSIDL As _
SpecialFolderIDs) As String

Dim lResult As Long
Dim IDL As ITEMIDLIST
Dim sPath As String

lResult = SHGetSpecialFolderLocation(100, CSIDL, IDL)
If lResult = 0 Then
sPath = Space$(512)
lResult = SHGetPathFromIDList(ByVal IDL.mkid.cb, _
ByVal sPath)
GetSpecialFolder = Left$(sPath, InStr(sPath, _
Chr$(0)) - 1)
End If
End Function

---------------------------------------------------------------

Private Sub Command1_Click()
' Verknüpfung "test.lnk" im Ordner
' "d:\temp" erstellen
CreateShortcut GetSpecialFolder(sfidDESKTOP), App.Path & "\" & App.EXEName & ".exe"
End Sub

______________________________________________________________


und zwar vermute ich, dass der zugriff aufs desktop verweigert wurde. auf jedenfall steht dann da bei der fehlermeldung:

Laufzeitfehler 75
Fehler bei Zugriff auf Datei/ Pfad

dann debugge ich die ganze sache, und wenn ich dann auf slinkfile gehe, erscheint der desktoppfad
genauso verhält es sich auch beim startmenu pfad...

MfG tobi

P.S. wenn ich einen festen ordner angebe dann funktionierts
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
startmenü & aktueller pfad ermitteln3.869tobi149208.08.06 16:39
Re: startmenü & aktueller pfad ermitteln2.804ModeratorMartoeng08.08.06 17:05
Re: startmenü & aktueller pfad ermitteln2.688tobi149208.08.06 19:21
Re: startmenü & aktueller pfad ermitteln2.748vbtricks09.08.06 09:23
Re: startmenü & aktueller pfad ermitteln2.827Wöllmi10.08.06 09:12
Re: startmenü & aktueller pfad ermitteln2.747tobi149210.08.06 11:07
Re: startmenü & aktueller pfad ermitteln2.825ModeratorMartoeng10.08.06 14:06
Re: startmenü & aktueller pfad ermitteln2.771tobi149210.08.06 16:34
Re: startmenü & aktueller pfad ermitteln2.609cryovirus01.12.10 18:20
Re: startmenü & aktueller pfad ermitteln2.540ModeratorMartoeng01.12.10 18:50
Re: startmenü & aktueller pfad ermitteln2.476cryovirus01.12.10 19:02
Re: startmenü & aktueller pfad ermitteln2.496ModeratorMartoeng01.12.10 19:31
Re: startmenü & aktueller pfad ermitteln2.474cryovirus01.12.10 19:52
Re: startmenü & aktueller pfad ermitteln2.536ModeratorMartoeng01.12.10 20:20
Re: startmenü & aktueller pfad ermitteln2.485cryovirus01.12.10 21:51

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