vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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!

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

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 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' "
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standard System-Ordner ermitteln 
Autor: ModeratorDieter (Moderator)
Datum: 16.06.08 07:41

Was genau ist Dein Problem?

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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ß
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standard System-Ordner ermitteln 
Autor: ModeratorDieter (Moderator)
Datum: 16.06.08 17:54

GetSpecialFolder(sfidSTARTUP)

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standard System-Ordner ermitteln 
Autor: ModeratorDieter (Moderator)
Datum: 17.06.08 09:05

Private Sub Form_load()
  Dim sPfad As String
  sPfad = GetSpecialFolder(sfidstartup)
 
  If Right$(sPfad, 1) <> "\" Then sPfad = sPfad & "\"
  FileCopy "c:\Shutdown54.lnk", sPfad & "shutdown54.lnk"

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standard System-Ordner ermitteln 
Autor: Draxxon
Datum: 17.06.08 14:19

achso danke!!!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standard System-Ordner ermitteln 
Autor: ModeratorDieter (Moderator)
Datum: 17.06.08 16:07

Wie meinst Du das?

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standard System-Ordner ermitteln 
Autor: ModeratorDieter (Moderator)
Datum: 17.06.08 20:07

Na, den Code hast Du ja jetzt: FileCopy ...
Den Namen der EXE-Datei bekommst Du via App.EXEName
Den Pfad aus dem die EXE gestartet wurde via App.Path

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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"
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standard Programme-Ordner ermitteln 
Autor: ModeratorDieter (Moderator)
Datum: 04.10.08 08:50

Nimm' mal diesen Tipp und "sfidPROGRAM_FILES"
Systemordner ermitteln II

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standard Programme-Ordner ermitteln 
Autor: flew
Datum: 04.10.08 09:44

Morgen !

Genau das ist es, dankeschön !


Grüße
flew
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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