03. januar 2003 - 14:18Der er
4 kommentarer og 1 løsning
eksternt program ....
Hejsa :)
Jeg skal lave en funktion i et program hvor den skal søge efter et program på en lokation (eg. c:\mit program\program.exe) og hvis programmet ikke eksistere skal det starte et setup program på en anden fast lokation (eg. f:\setup\setup.exe)... Jeg har haft søgt en del på at lukke regedit op og finde programmet der.. Men, jeg syntes det gjorde systemet sløvt, derfor tænkte jeg at jeg ville søge efter programmet på dens placering i stedet... nogle der kan hjælpe??
function GetPath: string; var reg: tregistry; begin reg := tregistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; if not reg.KeyExists('\SOFTWARE\BS\') then result := 'Key var der ikke' else begin reg.OpenKey('\SOFTWARE\BS\', false); result := reg.ReadString('Install_Dir'); end; reg.Free; end;
procedure TForm1.Button1Click(Sender: TObject); begin showmessage(GetPath); end;
dkn << Tak for hjælpen... Jeg lavede dog en lidt anden udgave og den virker :)
Uses Registry, shellAPI;
procedure TForm1.Button1Click(Sender: TObject); var regs: TRegistry;
begin
regs := TRegistry.Create(); try regs.RootKey := HKEY_LOCAL_MACHINE; regs.OpenKey('\SOFTWARE\Bs',false); if Regs.ValueExists('Install_Dir') then ShellExecute(Handle, 'open', pchar(regs.ReadString('Install_Dir')+'\'+'Bs.EXE'), '', '', SW_maximize);
if not Regs.ValueExists('Install_Dir') then ShellExecute(Handle, 'open', pchar('F:\\Tool\\Bs\\BsSetup.exe'), '', '', SW_Normal); Regs.CloseKey; Finally Regs.Free;
end; end;
Jeg har ikke prøvet den løsning du skrev, men der var et par ting i den som jeg kunne bruge, så de 30 point er dine :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.