| |
| In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.
Hinweis: Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden! | Fragen zu Tipps & Tricks und Workshops im vb@rchivTipp 273: Standard System-Ordner ermitteln | | | Autor: Draxxon | Tipp anzeigenDatum: 15.06.08 18:26 |
| Hi all
kann mir hier mal jemand einsetzen bitte, bekomm das nicht hin.
FileCopy " 'Pfad meiner exe' ", "C:\shutdown5.exe"
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")
Dim MyShortcut
Set MyShortcut = WSHShell.CreateShortcut("C:\shutdown54.lnk")
MyShortcut.TargetPath = WSHShell.ExpandEnvironmentStrings("C:\shutdown5.exe")
MyShortcut.WorkingDirectory = WSHShell.ExpandEnvironmentStrings("C:")
MyShortcut.WindowStyle = 4
MyShortcut.IconLocation = WSHShell.ExpandEnvironmentStrings("c:\shutdown5.exe, 0")
MyShortcut.Save
FileCopy "c:\Shutdown54.lnk", " 'autostart' " | |
Re: Standard System-Ordner ermitteln | | | Autor: Draxxon | Datum: 16.06.08 15:15 |
| also ich geb die funktion in ein modul ein, und dann weiss ich einfach nicht wie ich diese Pfade angeben muss,
FileCopy "c:\Shutdown54.lnk", " 'autostart' "
Was muss ich dahin schrreiben autostart steht, damikt das für das allgemeine Autostart steht.
Danke schonmal im vorraus
Gruß | |
Re: Standard System-Ordner ermitteln | | | Autor: Draxxon | Datum: 16.06.08 23:15 |
| Option Explicit
Public Enum SpecialFolderIDs
sfidDESKTOP = &H0
sfidPROGRAMS = &H2
sfidPERSONAL = &H5
sfidFAVORITES = &H6
sfidSTARTUP = &H7
sfidRECENT = &H8
sfidSENDTO = &H9
sfidSTARTMENU = &HB
sfidDESKTOPDIRECTORY = &H10
sfidNETHOOD = &H13
sfidFONTS = &H14
sfidTEMPLATES = &H15
sfidCOMMON_STARTMENU = &H16
sfidCOMMON_PROGRAMS = &H17
sfidCOMMON_STARTUP = &H18
sfidCOMMON_DESKTOPDIRECTORY = &H19
sfidAPPDATA = &H1A
sfidPRINTHOOD = &H1B
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
' 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
Form_load()
Dim sPfad As String
sPfad = GetSpecialFolder(sfidstartup)
FileCopy "c:\Shutdown54.lnk", "GetSpecialFolder(sfidSTARTUP)"
'aber dann muss ja noch der neue Datei Name darein'
FileCopy "C:\shutdown54.lnk","GetSpecialFolder(sfidSTARTUP)\shutdown54.lnk" (bitte richtig stellen falls fehler vorhanden...
Danke
Beitrag wurde zuletzt am 16.06.08 um 23:21:11 editiert. | |
Re: Standard System-Ordner ermitteln | | | Autor: Draxxon | Datum: 17.06.08 14:19 |
| achso danke!!! | |
Re: Standard System-Ordner ermitteln | | | Autor: Draxxon | Datum: 17.06.08 14:25 |
| Eine Frage nur noch wie heisst der befehl, mit dem man die Datei selbst benennen kann? | |
Re: Standard System-Ordner ermitteln | | | Autor: Draxxon | Datum: 17.06.08 19:53 |
| also bei dem Programm soll das Programm sich selbst kopieren, sodass das egal ist von wo man das startet | |
Re: Standard System-Ordner ermitteln | | | Autor: Draxxon | Datum: 18.06.08 14:47 |
| Ah vielen vielen dank, dass funktioniert jetzt, hab das jetzt so gemacht
Dim lol As String
lol = App.Path
If Right$(lol, 1) <> "\" Then lol = lol & "\"
FileCopy lol & "shutdown12.exe", "C:\shutdown5.exe" | |
Standard Programme-Ordner ermitteln | | | Autor: flew | Datum: 03.10.08 09:40 |
| Hallo zusammen,
dies soll keine Antwort auf die vorige Diskussion sein, allerdings habe ich nicht gefunden wie ich ein neues Thema eröffne.
Ich habe obigen Code ausprobiert, da ich auf unterschiedlichen Systemen den Standard-Ordner zu den Programmen ermitteln möchte. Dieser ist typischerweise C:\Programme\ jedoch auf englischsprachigen Systemen C:\Program Files\ ( oder so ähnlich ).
Dazu habe ich aus dem Code des vb@rchivs ' sfidProgramFiles ' ausgewertet, jedoch bekomme ich einen leeren String zurück.
Frage nun, ist es überhaupt möglich den C:\Programme\ Ordner zu ermitteln oder ist das gar kein echter Standard Ordner, falls dennoch, wie ermittele ich diesen ?
Grüße
flew | |
Re: Standard Programme-Ordner ermitteln | | | Autor: flew | Datum: 04.10.08 09:44 |
| Morgen !
Genau das ist es, dankeschön !
Grüße
flew | |
| Sie sind nicht angemeldet! Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
TOP! Unser Nr. 1
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 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
|
|