Einzelnen Beitrag anzeigen

Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#22

Re: Programmstart durch Autostart - kann man das herausfinde

  Alt 16. Sep 2006, 14:11
OK.

Was ich jetzt gemacht habe:

Ich habe das Extrahieren des Parameters wieder eingefügt (bei String ohne Anführungsstrichen wird nach dem letzten Leerzeichen abgeschnitten, das danach ist dann der Parameter)
Ich habe mir alle 3 Sachen (Dateiname, Parameter und Workdir) per ShoeMessage anzeigen lassen und siehe da!

MSN 2 klappt schon mal, genau so wie MSn Plus 3!

Aber MSN 7.5 und ICQ wehren sich immer noch und jetzt klappt der Autostart meines Sounkartenmixers nicht mehr
Bei meinem Soundkartenmixer ist nämlich der spezielle Fall, dass der Pfad dorthin ein Leerzeichen drin hat und sonst kein Parameter angefügt ist.

Also ist es auch nicht genau das was ich suche!

Hier nochmal der aktuelle Code:

Delphi-Quellcode:
procedure TForm3.buttonclick(Sender: TObject);
var button: TButton;
    param,name,workdir: string;
    pos1, pos2: integer;
begin
  if Sender is TButton then
  begin
    name := programs[(Sender as TButton).tag];
    if pos('"', name)>0 then
    begin
      pos1 := pos('"', name);
      pos2 := posex('"', name, 2);
      param := Copy(name, pos2+1, MaxInt);
      name := Copy(name, pos1, pos2);
    end
    else
    begin
      if rpos(' ', name)>0 then
      begin
        param := Copy(name, rpos(' ', name) + 1, MaxInt);
        name := Copy(name, 1, rpos(' ', name) - 1);
      end;
      name := '"' + name + '"';
    end;
    workdir := GetShellFolder($0028);
    ShowMessage(name);
    ShowMessage(param);
    ShowMessage(workdir);
    ShellExecute(Handle, 'open', PChar(name), PChar(param), PChar(workdir), SW_ShowNormal);
  end;
end;

Flare
Willy Scheibel
  Mit Zitat antworten Zitat