AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit shellexecute und Pfad

Ein Thema von R2009 · begonnen am 31. Okt 2010 · letzter Beitrag vom 31. Okt 2010
Antwort Antwort
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#1

AW: Problem mit shellexecute und Pfad

  Alt 31. Okt 2010, 09:01
Hi,

das funktioniert mit shellexecute nicht!
Habe eine andere Lösung:

Delphi-Quellcode:
procedure ShellExecAndWait(dateiname: string; dir: string; Parameter: string); // benötigt ShellAPI in Uses
var executeInfo: TShellExecuteInfo;
dw: DWORD;
begin
   FillChar(executeInfo, SizeOf(executeInfo), 0);
   with executeInfo do
      begin
         cbSize := SizeOf(executeInfo);
         fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_FLAG_DDEWAIT;
         Wnd := GetActiveWindow();
         executeInfo.lpVerb := 'open';
         executeInfo.lpParameters := PChar(Parameter);
         executeInfo.lpDirectory:= PChar(dir);
         lpFile := PChar(dateiname);
         nShow := SW_SHOWNORMAL;
      end;
      if ShellExecuteEx(@executeInfo) then dw := executeInfo.HProcess
         else
            begin
               ShowMessage('Fehler: ' + SysErrorMessage(GetLastError));
               exit;
            end;
      while WaitForSingleObject(executeInfo.hProcess, 50) <> WAIT_OBJECT_0 do
      Application.ProcessMessages;
      CloseHandle(dw);
end;

Aufgerufen mit:
  dbpath:=extractfilepath(application.ExeName)+'LCRset2\';
  ShellExecAndWait(dbpath + '\LCRset2.exe',dbpath,'');

so funktionierts nicht.
  i:=ShellExecute(Application.Handle, 'open', Pchar(dbpath + 'LCRset2.exe'),nil,pchar(dbpath), SW_SHOW);
Grüsse
Rainer

PS: würde mich aber schon interessieren warum das so ist!
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Problem mit shellexecute und Pfad

  Alt 31. Okt 2010, 09:04
Hi,
funktioiert doch. Hatte im Pfad einen Fehler.

Delphi-Quellcode:
  dbpath:=extractfilepath(application.ExeName)+'LCRset2\';
  i:=ShellExecute(Application.Handle, 'open', Pchar(dbpath + 'LCRset2.exe'),nil,pchar(dbpath), SW_SHOW); //pchar(dbpath)
Grüsse
rainer
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz