Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#1

Windows 7: Andere Anwendung per ShellExecute starten => error

  Alt 22. Jan 2014, 07:01
Hallo,

Ich habe hier (nee, ganz weit weg beim Kunden) ein Problem mit einer Anwendung, das an einer Stelle eine andere Anwendung startet. Das funktioniert unter XP problemlos, aber bei Windows 7 scheint es nicht zu funktionieren. Der Aufruf geht mit dieser Funktion:
Delphi-Quellcode:
Function ShellExecute_AndWait(Operation, FileName, Parameter, Directory: String;
  Show: Word; bWait: Boolean): Longint;
Var
  bOK: Boolean;
  Info: TShellExecuteInfo;

Begin
  FillChar(Info, SizeOf(Info), Chr(0));
  Info.cbSize := SizeOf(Info);
  Info.fMask := SEE_MASK_NOCLOSEPROCESS;
  Info.lpVerb := PChar(Operation);
  Info.lpFile := PChar(FileName);
  Info.lpParameters := PChar(Parameter);
  Info.lpDirectory := PChar(Directory);
  Info.nShow := Show;
  bOK := Boolean(ShellExecuteEx(@Info));
  If bOK Then Begin
    If bWait Then Begin
      While WaitForSingleObject(Info.hProcess, 100) = WAIT_TIMEOUT Do
        Application.ProcessMessages;
      bOK := GetExitCodeProcess(Info.hProcess, DWORD(Result));
    End
    Else
      Result := 0;
  End;
  If Not bOK Then Result := -1;
End;
Problem an der Sache: Ich komme an den Rechner nicht direkt ran, kann also nur per 'Stille Post' Anweisungen geben.


Meine Frage (hier bin ich Laie):
1. Wäre es denkbar, das der aktuelle Benutzer keine Rechte hat, die Fremdanwendung zu starten? Gibt es hier Unterschiede zwischen XP und Win 7?
2. Wenn der angemeldete Nutzer die Anwendung per Doppelklick starten kann, geht das dann auch mit der o.g. Funktion? D.h. reicht es, die Rechte so einzurichten, das Doppelklick funktioniert?
3. Falls 1=JA und 2=JA dann: Wie stellt man das ein?
4. Würde man (1) in einem Windows-Ereignis-Log sehen?


[x] Ja, ich oute mich hiermit als Volldrömel.
  Mit Zitat antworten Zitat