Autor Beitrag
juergen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Do 31.03.05 11:47 
Hallo

wie kann ich einen bestimmten shortcut vom desktop löschen oder die verknüpfung ändern

danke
juergen
Stübi
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 331

Win XP, Win 2000, Win ME
D5 Ent, D7 Prof, D2005 PE, C#
BeitragVerfasst: Do 31.03.05 11:50 
Löschen: mit DeleteFile(C:\Desktoppfad\Verknüpfungsname.inc);
Ändern: wie meinst du ändern? eifach den Pfad ändern? den Namen ändern?

Gruss Stübi

_________________
Neun von zehn Stimmen in meinen Kopf sagen, dass ich nicht verrückt sei. Die zehnte summt die Tetrismelodie.
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Do 31.03.05 12:27 
verknüpfungen haben die extension .lnk
angenommen du hast ne verknüpfung namens leetMP3 auf dem desktop
den pfad zum desktop kriegst du so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
uses sysutils;
...
var desktop, link: string;
begin
  link := 'leetMP3.lnk'; desktop := '';
  desktop := getenvironmentvariable('USERPROFILE'); 
  if desktop <> '' then desktop := desktop + '\desktop\' // betriebssystem ist >= NT
  else desktop := getenvironmentvariable('WINDIR') + '\desktop\'// windows 9x
  if fileexists(desktop + link) then deletefile(desktop + link);
end;

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
juergen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Do 31.03.05 20:07 
OK !

Vielen Dank
juergen
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 31.03.05 20:30 
Also, @retnyg, wenn du weißt, dass es evtl. Probleme mit Nicht-NT-Systemen geben kann:
user profile iconretnyg hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
  desktop := getenvironmentvariable('USERPROFILE'); 
  if desktop <> '' then desktop := desktop + '\desktop\' // betriebssystem ist >= NT
  else desktop := getenvironmentvariable('WINDIR') + '\desktop\'// windows 9x

dann frage ich mich, warum du nicht gleich die passenden Shell-Funktionen zum Ermitteln des Desktop-Ordners nimmst? Dieses Rumhantieren mit den Umgebungsvariablen kann auch in die Hose gehen. Und das OS stellt mit Suche in: Delphi-Library SHGETSPECIALFOLDERLOCATION schon passende Funktionen bereit. :roll:
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Do 31.03.05 22:24 
ich bin nunmal mit DoS aufgewachsen, deswegen hänge ich auch an Dingen wie den Umgebungsvariablen...
ausserdem kenne ich die hier passenden API-befehle nicht, da ich mit den Umgebungsvariablen nie Probleme hatte.

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 31.03.05 23:15 
Ich bin auch mit DOS aufgewachsen, aber trotzdem nehme ich Umgebungsvariablen nur, wenn sie möglichst breit gefächert unterstützt werden. Aktuell verwende ich sie bspw. nur in meinen Build-Batches, um Pfade zu Delphi zu setzen, damit ich den ganzen Kram nicht ständig angeben muss:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
@echo off
setlocal
set dcc32="k:\programme\...\dcc32.exe"

%dcc32% MeinProgramm

set dcc32=

Du siehst, ich hänge auch noch an der alten Zeit. :) Trotzdem kenne ich die API-Befehle, bzw. ich weiß, wo ich sie finden kann. ;)
Jakane
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 257



BeitragVerfasst: Mi 18.05.11 12:39 
user profile iconretnyg hat folgendes geschrieben Zum zitierten Posting springen:
verknüpfungen haben die extension .lnk
angenommen du hast ne verknüpfung namens leetMP3 auf dem desktop
den pfad zum desktop kriegst du so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
uses sysutils;
...
var desktop, link: string;
begin
  link := 'leetMP3.lnk'; desktop := '';
  desktop := getenvironmentvariable('USERPROFILE'); 
  if desktop <> '' then desktop := desktop + '\desktop\' // betriebssystem ist >= NT
  else desktop := getenvironmentvariable('WINDIR') + '\desktop\'// windows 9x
  if fileexists(desktop + link) then deletefile(desktop + link);
end;


Ich hab das mal probiert...
und bekomme dabei Fehlermeldungen

[Fehler] X1_01.pas(177): Nicht genügend wirkliche Parameter
[Fehler] X1_01.pas(179): Nicht genügend wirkliche Parameter
[Fehler] X1_01.pas(179): Inkompatible Typen: 'String' und 'Cardinal'