Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eintrag unter Startmenü\Programme (https://www.delphipraxis.net/35319-eintrag-unter-startmenue%5Cprogramme.html)

glkgereon 5. Dez 2004 21:28

Re: Eintrag unter Startmenü\Programme
 
also, an sonem blauen punkt links neben dem quelltext klickst du, dann wird die zeile markiert (haltepunkt)

nun führst du das programm aus, und kannst mit F7 alle folgenden befehle einzeln durchgehen
-> debugger

damit kannst du uns wenigstens die zeile/den befehl sagen wo der fehler auftritt..

weil nur mit der AV kann hier(denke ich) keiner was anfangen

dreamweaver 5. Dez 2004 21:35

Re: Eintrag unter Startmenü\Programme
 
in der Zeile 66 bei
Code:
if CreateLink('......
bleibt der ablauf stehen sobald ich den button betätige. Hoffe das hilft weiter???

glkgereon 5. Dez 2004 21:37

Re: Eintrag unter Startmenü\Programme
 
hast du das mit dem debugger gemacht?

lad mal bitte das komplette projekt hoch

dreamweaver 5. Dez 2004 21:47

Re: Eintrag unter Startmenü\Programme
 
hier das ganze script

Delphi-Quellcode:
unit Unit1;

interface

uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  activex, comobj, shlobj, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}




function CreateLink(lpszPathObj,lpszPathLink,
  lpszDesc: string):Boolean;
var
  psl: IShellLink;
  ppf: IPersistFile;

const
  IID_IPersistFile:
     TGUID = (D1:$0000010B;
              D2:$0000;
              D3:$0000;
              D4:($C0,$00,$00,$00,$00,$00,$00,$46));
begin
  result := False;
  if SUCCEEDED(CoCreateInstance(CLSID_ShellLink,
                                nil,
                                CLSCTX_INPROC_SERVER,
                                IID_IShellLinkA,
                                psl)) then
    begin
      psl.SetPath(PChar(lpszPathObj));
      psl.SetDescription(PChar(lpszDesc));
      if SUCCEEDED(psl.QueryInterface(IID_IPersistFile,
                   ppf)) then
        begin
          ppf.Save(StringToOLEStr(lpszPathLink),TRUE);
          Result := true;
          ppf._Release; //---> Runtime-Error wenn aktiv
        end;
    end;
  psl._Release; // ---> Runtime-Error wenn aktiv
end;

//Aufruf:

procedure TForm1.Button1Click(Sender: TObject);
begin
     if CreateLink('C:\Programme\Borland\Delphi6\Projects\system\winxpbeenden\ausschalten.exe', 'C:\projekt_verknüpfung.exe', 'Verknüpfung') then
    MessageDlg('Verknüpfung angelegt', mtInformation, [mbOk], 0);
end;

end.

glkgereon 5. Dez 2004 21:50

Re: Eintrag unter Startmenü\Programme
 
also, der fehler kommt bei
psl._Release;

wo passenderweise hintersteht
// ---> Runtime-Error wenn aktiv

wird seinen sinn haben ;)

also hast du falsche parameter übergeben....

dreamweaver 5. Dez 2004 21:56

Re: Eintrag unter Startmenü\Programme
 
aha und was kann ich dagegen machen???

gibts denn noch andere Möglichkeiten ein Eintrag unter start/programme zumachen???

glkgereon 6. Dez 2004 13:59

Re: Eintrag unter Startmenü\Programme
 
du könntest dir ein programm schreiben, welches die programme aufruft, und das in den autostart tun....


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:58 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz