ShellExecute i otwieranie *.doc problem pod XP

0

Witam
mam taki problemik, muszę otworzyć za pomocą programu w delphi plik *.doc bądz *.xls, zrobiłem cos takiego jak poniżej, działa to ładnie na win 98 win 95 na win XP działa tylko na koncie admina jak jest konto ograniczone to nie otwiera worda wylko katalog w którym jest otwierany plik. Jak to obejść? może coś pozmieniać w win mozna aby to zadziałało.
Prosze o pomoc gg 740450 bądz maila [email protected]

procedure TForm1.OtworzWNowymOknie(rozszerzenie: string; Plik: string);
var
Rejestr: TRegIniFile;
Skojarzenie, Aplikacja, Aplikacja_skr, Plik_Skr: string;
begin
Rejestr := TRegIniFile.Create('');
Rejestr.RootKey := HKEY_CLASSES_ROOT;
Skojarzenie := Rejestr.ReadString(rozszerzenie, , );
Aplikacja := Rejestr.ReadString(Skojarzenie + '\shell\open\command', , );
Aplikacja := AnsiLowerCase(Aplikacja);
while Pos('"', Aplikacja) > 0 do Delete(Aplikacja, Pos('"', Aplikacja), 1);
Delete(Aplikacja, Pos('.exe', Aplikacja) + 4, 100);
Aplikacja_skr:=ExtractShortPathName(Aplikacja);
plik_skr:=ExtractShortPathName(Plik);
ShellExecute(Handle, 'open', PChar(Aplikacja_skr), PChar(Plik_skr), '', SW_SHOWNORMAL);
Rejestr.Free;
end;

0

A nie zadziała przypadkiem:

ShellExecute(Handle, 'open', 'c:\plik.doc', '', '', SW_SHOWNORMAL);
0

A czy na pewno do plików doc jest przypisany jakiś program poza kontem Administratora?

0

dzieki wszystkim za pomoc ale ptroblem został rozwiazany,

tu jest rozwiazanie

if OpenDialog1.Execute then ShellExecute(Handle, 'open', PChar(OpenDialog1.FileName), , , SW_SHOWNORMAL);

1 użytkowników online, w tym zalogowanych: 0, gości: 1