Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
13.08.2001, 16:33
Retro



Moin, es geht mir darum ein Icon im Arbeitsplatz zu haben, welches mein Programm startet wenn man drauf klickt...

Ich hab inzwischen schon rausgefunden das es mit der Registry zusammenhängt, also schätze ich mal das man 'einfach' irgendwo nen Schlüssel adden muß, aber ich habe noch nicht viel mit der Registry gearbeitet, und grade das Icon im Arbeitsplatz halte ich für schwierig.

Hat wer ne Idee wo ich etwas eintragen muss?

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
001
13.08.2001, 18:01
Another1



du meinst eine datei die sich da xxx.lnk nennt .. da mussu mal gucken installer können sowas erstellen

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
002
13.08.2001, 21:12
Retro



Hmm, ne verknüpfung ist das nicht... ich meine wirklich direkt im Arbeitsplatz... neben "Systemsteuerung", "Drucker" und den ganzen Laufwerken.

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
003
18.08.2001, 22:59
feigling



Vielleicht hätte ich da was für dich.
Bei mir funzt es zwar nicht, aber es kann auch sein, dass ich bei mir was falsch gemacht habe. Probier einfach mal das hier aus:

Quellcode:

uses shlobj, ActiveX, ComObj;

procedure Link (Filename,LinkName,Arguments,WorkingDir: String);
var tmpObject : IUnknown;
    tmpSLink : IShellLink;
    tmpPFile : IPersistFile;
    PIDL : PItemIDList;
    LinkFile: WideString;
    Directory : array[0..MAX_PATH] of Char;
begin
tmpObject := CreateComObject(CLSID_ShellLink);
tmpSLink := tmpObject as IShellLink;
tmpPFile := tmpObject as IPersistFile;
tmpSLink.SetArguments(pchar(Arguments));
tmpSLink.SetPath(pChar(Filename));
tmpSLink.SetWorkingDirectory(pChar(WorkingDir));
SHGetSpecialFolderLocation(0,CSIDL_DESKTOPDIRECTORY,PIDL);
SHGetPathFromIDList(PIDL, Directory);
LinkName:='\'+LinkName+'.lnk';
LinkFile := Directory+LinkName;
tmpPFile.Save(pWChar(LinkFile),FALSE);
end;

Und dann als Aufruf z.B:

Quellcode:

Link('C:\Test\test.exe','Test.lnk','test','C:\Test');

Das macht schonmal eine Verknüpfung auf den Desktop. Dort wo oben
CSIDL_DESKTOPDIRECTORY steht, kann man auch was anderes einsetzen.

Ich habe hier mal ein paar Sachen:

CSIDL_PROGRAMS
CSIDL_PERSONAL
CSIDL_STARTUP

Das sind einige Beispiele, aber noch nicht das, was du suchst. Alle Beispiele stehen in der Datei shlobj.pas im Verzeichnis Delphi5\Source\Rtl\Win (hoffe ich :). Du öfnest die Datei und suchst in Delphi dann nach CSIDL. Müsste so Zeile 1897 sein. Dort findest du noch einige, die du dann anstatt CSIDL_DESKTOPDIRECTORY dort oben einsetzen kannst. Ich habe schon ein paar davon ausprobiert, aber bei mir hat es nicht geklappt, aber es kann sein, dass ich dort wirklich was falsch gemacht habe. Du kannst es ja mal ausprobieren. Vielleicht klappt ja ein Teil.
Viel Spaß ;)

P.S. Ich hoffe, ich habe hier keine Fehler reingebaut.

--

zum Seitenanfang zum Seitenende Profil || Suche
004
19.08.2001, 21:28
Retro



Dankedanke - is nen hübsches script zum Links erzeugen! :)

Aber mit den Arbeitsplatz rührt sich nichts...

Wie gesagt, das steckt irgendwo in der registry. Wenn ich nur wüsste wo. =\

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
005
19.08.2001, 21:55
feigling



Schade :(
Hätte ja sein können, dass vielleicht CSIDL_DRIVES das erstellt.
Aber wenn es bei dir auch nicht geht, dann weiß ich auch nicht, was man da machen könnte

--

zum Seitenanfang zum Seitenende Profil || Suche