AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi SHGetSpecialFolderPath fehlt in meiner Shell32.dll
Thema durchsuchen
Ansicht
Themen-Optionen

SHGetSpecialFolderPath fehlt in meiner Shell32.dll

Ein Thema von Fischy · begonnen am 28. Aug 2003 · letzter Beitrag vom 7. Jun 2005
Antwort Antwort
Fischy

Registriert seit: 20. Aug 2003
15 Beiträge
 
#1

SHGetSpecialFolderPath fehlt in meiner Shell32.dll

  Alt 28. Aug 2003, 13:10
Hi,

beim Ausführen von SHGetSpecialFolderPath bekomme ich folgende Fehlermeldung:
"Der Prozedureinstiegspunkt "SHGetSpecialFolderPathA" konnte in der Dynamic Link Libary "shell32.dll" nicht gefunden werden."

Liegt das an NT 4.0? Hat noch jemand eine andere Idee den Autostartordner vom CurrentUser ausfindig zu machen? Ich hatte überlegt das über den aktuellen Usernamen zu machen, aber das ist nicht 100% sicher. Ich möchte im Übrigen keinen Eintrag in die Registry vornehmen um das Programm beim Windowsstart zu öffnen.

Gruß und danke im Vorraus,

Fischy
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: SHGetSpecialFolderPath fehlt in meiner Shell32.dll

  Alt 28. Aug 2003, 13:40
Zitat:
shell32.dll version 4.71 or later
Zitat:
Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, Windows 98, Windows 95 with Internet Explorer 4.0
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Fischy

Registriert seit: 20. Aug 2003
15 Beiträge
 
#3

Re: SHGetSpecialFolderPath fehlt in meiner Shell32.dll

  Alt 28. Aug 2003, 15:10
Zitat:
Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, Windows 98, Windows 95 with Internet Explorer 4.0
Die Vorraussetzungen erfüll ich wohl! (Das hatte ich auch schon vor meinem Post gelesen. Ich dachte aber, daß das nicht so ganz stimmt, weils eben bei mir nicht zutrifft )

Zitat:
shell32.dll version 4.71 or later
Die allerdings nicht. Meine Version ist 4.00. Das hat mich ein wenig stutzig gemacht, weshalb ich mich mal auf die Suche nach dem Grund für diesen Versionsunterschied begeben hab... Der Grund ist natürlich Microsoft :-/ Mit dem Hotfix Q313829 wird die alte Ver. der Shell32.dll wieder aufgespielt Sowas doofes, der is natürlich auf allen Rechnern auf denen das Programm laufen soll drauf.

Also Nochmal:

Zitat:
Hat noch jemand eine andere Idee den Autostartordner vom CurrentUser ausfindig zu machen? Ich hatte überlegt das über den aktuellen Usernamen zu machen, aber das ist nicht 100% sicher. Ich möchte im Übrigen keinen Eintrag in die Registry vornehmen um das Programm beim Windowsstart zu öffnen.
Gruß Fischy
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: SHGetSpecialFolderPath fehlt in meiner Shell32.dll

  Alt 28. Aug 2003, 16:20
Hallo,

ob das Funkt weiß ich nicht, da ich im Moment nur XP-Home habe, aber einen Versuch ist es Wert:
Delphi-Quellcode:
PROCEDURE TForm1.Button1Click(Sender: TObject);
   FUNCTION StartUpPath: STRING;
   VAR
      FilePath : ARRAY[0..MAX_PATH] OF Char;
      IDL : PItemIDList;
   BEGIN
      Result := '';
      IF Succeeded(SHGetSpecialFolderLocation(0, CSIDL_STARTUP, IDL)) THEN
         IF SHGetPathFromIDList(IDL, FilePath) THEN
            Result := FilePath;
   END;
BEGIN
   showmessage(StartUpPath);
END;
MSDN:
Zitat:
...
SHGetSpecialFolderLocation Function


Function Information

Minimum DLL Version shell32.dll version 4.0 or later
Custom Implementation No
Header shlobj.h
Import library shell32.lib
Minimum operating systems Windows NT 4.0, Windows 95
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Fischy

Registriert seit: 20. Aug 2003
15 Beiträge
 
#5

Re: SHGetSpecialFolderPath fehlt in meiner Shell32.dll

  Alt 28. Aug 2003, 16:31
Funktioniert! Vielen Dank!
  Mit Zitat antworten Zitat
Fischy

Registriert seit: 20. Aug 2003
15 Beiträge
 
#6

Re: SHGetSpecialFolderPath fehlt in meiner Shell32.dll

  Alt 29. Aug 2003, 09:41
Der Vollständigkeit halber einmal mit Freigabe des Speichers:

Delphi-Quellcode:
function GetAutostartPathCurrentUser : String;
var
  buffer : Array[0..MAX_PATH+1] of Char;
  IDL : PItemIDList;
  pMalloc : IMalloc;
begin
  result:='';
  if SHGetMalloc(pMalloc) <> NO_ERROR then exit;
  if Succeeded(SHGetSpecialFolderLocation(0, CSIDL_STARTUP, IDL)) then
    if SHGetPathFromIDList(IDL, buffer) then
      result:=buffer;
  pMalloc.Free(IDL);
end;
  Mit Zitat antworten Zitat
Delphideppen

Registriert seit: 15. Apr 2005
3 Beiträge
 
#7

Re: SHGetSpecialFolderPath fehlt in meiner Shell32.dll

  Alt 7. Jun 2005, 15:16
ich such auch schon ne ganze zeitlang nach dieser function. ich bin leider noch ein ziehmlicher noob hab grad erst angefangen zu programmieren deshalb würde ich mich sehr freuen wenn du (App) mir die function kurz erklären könntest da wir es noch nicht geschafft haben die funktion in unser programm einzubauen.
Vielen Dank schon mal

Gruss

Amon

PS: Ich hab mich mit nem freund zusammen angemeldet wir lernen grad zusammen delphi, er kam auf den behinderten nick
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#8

Re: SHGetSpecialFolderPath fehlt in meiner Shell32.dll

  Alt 7. Jun 2005, 15:18
Es steht dir frei, dich/euch umbenennen zu lassen, wenn ihr einen passenderen Namen gefunden habt.
Ansonsten: Keine Entschuldigungen! Das ist nicht unterhalb der Grenze des guten Geschmacks.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz