Entwickler-Ecke
Windows API - %userprofile%
dac424 - Fr 28.09.12 17:57
Titel: %userprofile%
hallo Liebe Progger ich habe ein Kleines Menue Erstellt doch das Schellexcute übernimmt mein Userdata Pfad nicht
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.Button3Click(Sender: TObject); begin; ShellExecute(Handle,'open','%USERPROFILE%\AppData\Local\ClubCooee\Program\cooee.exe',nil,nil,SW_ShowNormal); end; |
normaler weise sollte er c:\Users\Kunde einsetzen
da das Menue auch auf Windows XP und Windows / laufen Sollte
ich bitte daher um Hilfe.
Moderiert von
Martok: Delphi-Tags hinzugefügt
Andreas L. - Fr 28.09.12 18:08
Du kannst diese Funktion verwenden:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| function GetSpecialDirectory(CSIDL: Integer; Handle: Cardinal = 0): String; const SHGFP_TYPE_CURRENT = 0; var APIResult: HRESULT; Buffer: Array[0 .. MAX_PATH - 1] of WCHAR; begin Result := '';
APIResult := SHGetFolderPathW(Handle, CSIDL, 0, SHGFP_TYPE_CURRENT, Buffer);
if APIResult = S_OK then Result := SysUtils.IncludeTrailingPathDelimiter(WideString(Buffer)); end; |
Aufruf:
Delphi-Quelltext
1: 2: 3: 4: 5:
| var path: String; begin path := GetSpecialDirectory(CSIDL_APPDATA); end; |
dac424 - Fr 28.09.12 18:34
da bekomme ich leider immer ne fehlermeldung
SHGetFolderPathW
[Fehler] uMain.pas(72): Undefinierter Bezeichner: 'SHGetFolderPathW'
Andreas L. - Fr 28.09.12 18:37
dac424 hat folgendes geschrieben : |
da bekomme ich leider immer ne fehlermeldung
SHGetFolderPathW
[Fehler] uMain.pas(72): Undefinierter Bezeichner: 'SHGetFolderPathW' |
Delphi-Quelltext
1: 2:
| uses Windows, ........, ShlObj; |
dac424 - Fr 28.09.12 19:44
Es kommt immer noch der Fehler wäre schön wenn du dir das mal anschauen Köntest kann dir das per PM zukommen lassen.
bummi - Fr 28.09.12 19:55
wenn Du eine ältere Delphiverion hast und "ShlObj" bereits in den "uses" aufgeführt ist, nimm statt
SHGetFolderPathW mal SHGetFolderPath
Narses - Fr 28.09.12 23:36
Moin!
dac424 hat folgendes geschrieben : |
das Schellexcute übernimmt mein Userdata Pfad nicht
Delphi-Quelltext 1: 2: 3: 4:
| procedure TForm1.Button3Click(Sender: TObject); begin; ShellExecute(Handle,'open','cmd /c start %USERPROFILE%\AppData\Local\ClubCooee\Program\cooee.exe',nil,nil,SW_ShowNormal); end; |
normaler weise sollte er c:\Users\Kunde einsetzen |
Setz das markierte davor, dann klappt das auch ohne den Pfad mit Delphi selbst ermitteln zu müssen. :idea:
Ob das sinnvoll ist, sei mal dahingestellt. :nixweiss: Zumindest ist es schneller umgesetzt... :zwinker:
cu
Narses
dac424 - So 21.10.12 00:22
Lieber Administrator
Schade habe das so übernommen aber es funktioniert nicht.
ich würde dir sehr gerne mal meine Source zukommen lassen den ich lerne anhand sehen einfacher
oder wens dir lieber wäre auch sehr gerne per Teamview
Narses - So 21.10.12 01:11
Moin!
dac424 hat folgendes geschrieben : |
es funktioniert nicht. |
Hm, hast leider recht, hab nicht auf die Parameter geschaut... :roll:
So geht´s (vorausgesetzt du kopierst dir die Calc.exe auch nochmal in´s Profil-Verzeichnis zum Testen):
Delphi-Quelltext
1:
| ShellExecute(0, NIL, 'cmd', ' /c start "" "%USERPROFILE%\calc.exe"', NIL, SW_HIDE); |
cu
Narses
dac424 - So 21.10.12 01:30
HM dan mache ich wohl was falsch
es funktioniert nicht ich habe windows 7 ultimate
es geht einfach nicht
Delphi-Quelltext
1: 2: 3: 4:
| begin; ShellExecute(Handle,'open','cmd /c start "" "%USERPROFILE%\AppData\Local\ClubCooee\Program\cooee.exe"',nil,nil,SW_ShowNormal); end; |
ich habe nunmehr beides versucht
SHGetFolderPath und eine menge gelesen dieser Befehl soll es im Windows 7 nicht geben
kann mir den keiner Helfen sende auch sehr gerne meine Source demAdmin zu ist bereits gepackt.
Moderiert von
Narses: Delphi-Tags hinzugefügt
Narses - So 21.10.12 16:49
Moin!
dac424 hat folgendes geschrieben : |
HM dan mache ich wohl was falsch |
Ja, vergleiche mal die markierten Teile: :lupe:
dac424 hat folgendes geschrieben : |
Delphi-Quelltext 1: 2: 3: 4:
| begin; ShellExecute(Handle,'open','cmd /c start "" "%USERPROFILE%\AppData\Local\ClubCooee\Program\cooee.exe"',nil,nil,SW_ShowNormal); end; | |
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!