Einzelnen Beitrag anzeigen

sebjensen

Registriert seit: 8. Dez 2005
Ort: Kiel
62 Beiträge
 
#20

Re: Externes Programm starten

  Alt 30. Jan 2007, 19:57
Okay.

Hier ist mal der bisherige Quellcode der Leider überhaupt nicht läuft. Müsste ich auch für jedes Office-Programm (Word, Excel, Outlook, ...) eine neue Prozedur schreiben oder kann man das auch in einer lösen.

Delphi-Quellcode:
procedure LookUpRegistry;
{Suchen, wo MS Office Word liegt}
var reg :TRegistry;
    s :TStrings;
    p,i :integer;
    key,value:string;
    wordpfad : string;
begin
  reg := TRegistry.Create(KEY_READ);
  s := TStringlist.Create;
  reg.rootkey := HKEY_LOCAL_MACHINE;
  key := '';

  if reg.OpenKeyReadOnly('\Software\Microsoft\Office') then begin
      key:='';
      reg.CloseKey;
  end else if reg.OpenKeyReadOnly('\Software') then begin
    reg.GetKeyNames(s);
    p:=-1;
    for i:=0 to s.Count-1 do if pos('Microsoft',s.Strings[i])>0 then p:=i;
      if p>=0 then key:='\Software\'+ s.Strings[p];
      reg.CloseKey;
    end;

    if (length(key) > 0) and (reg.OpenKeyReadOnly(key)) then begin
      reg.GetKeyNames(s);
      if s.count>0 then key:='\Software\Microsoft\' + s.Strings[s.count-1];
      reg.CloseKey;
      if reg.OpenKeyReadOnly(key) then begin
        value:=reg.ReadString('');
        reg.CloseKey;
        if pos(';',value)>0 then value:=copy(value,1,pos(';',value)-1);
        value:=extractfiledir(value)+'\winword.exe';
        if fileexists(value) then wordpfad:=value;
      end;
    end;
  end;
  Mit Zitat antworten Zitat