Avatar billede dn666 Nybegynder
11. februar 2005 - 10:13 Der er 9 kommentarer og
2 løsninger

ShellExecute app

Hej. jeg har et lille problem med ShellExecute,

jeg prøver at starte PowerDVD med:
ShellExecute(Form1.Handle, nil, 'C:\Program Files\CyberLink\PowerDVD\PowerDVD.exe', nil, nil, SW_SHOWNORMAL);


PowerDVD starter også som den skal, men når jeg trykker play eller vælger hviltet drev dvd'en ligger i genererer PoweDVD en fejl, det gør den ikke hvis jeg bare starter den i CommandPrompt i Windows, så det er på en eller anden måde min applikation, der får startet PowerDVD på en forkert måde, eller også prøver powerDVD at fortælle windows et eller andet som min applikation sluger outputtet fra ???
Avatar billede pjotre Novice
11. februar 2005 - 10:23 #1
Prøv denne her:
procedure TForm1.Button1Click(Sender: TObject);
var cmdbuffer: array[0..80] of Char;
begin
strpcopy(cmdbuffer, 'C:\Program Files\CyberLink\PowerDVD\PowerDVD.exe');
WinExec(cmdbuffer, SW_Show);
end;
Pjotre
Avatar billede stoney Nybegynder
11. februar 2005 - 10:25 #2
Shellexecute(Handle, 'OPEN', PChar('C:\Program Files\CyberLink\PowerDVD\PowerDVD.exe'), nil, nil, SW_SHOW);

pjotre> winexec er fy fy :-)

Stoney
Avatar billede pjotre Novice
11. februar 2005 - 10:26 #3
Hvorfor det - det virker jo hver gang!
Avatar billede stoney Nybegynder
11. februar 2005 - 10:33 #4
winexec er outdated. Det virker kun på grund af bagud kompabilitet.
Den kan heller ikke tage parameter med.
Brug altid shellexecute eller createprocess

Stoney
Avatar billede dn666 Nybegynder
11. februar 2005 - 10:42 #5
Jeg har prøvet "fy fy'en" med samme resultat..

Shellexecute(Handle, 'OPEN', PChar('C:\Program Files\CyberLink\PowerDVD\PowerDVD.exe'), nil, nil, SW_SHOW);
kommer også med samme resultat :(

kan det ikke være at powerdvd prøver at få fat i noget uden for applikationen som ikke kan komme igennem ?
Avatar billede pjotre Novice
11. februar 2005 - 10:43 #6
Det lyder interessant - tak for svaret
Avatar billede kammeyer Nybegynder
11. februar 2005 - 11:24 #7
Shellexecute(Handle, 'OPEN',
  PChar('C:\Programmer\CyberLink\PowerDVD\PowerDVD.exe'), nil,
  PChar('C:\Programmer\CyberLink\PowerDVD\'), SW_SHOW);

Den virker for mig - ingen fejl. Ændringen er "startop folderen". Kan også være jeg har en anden version ...
Avatar billede dn666 Nybegynder
11. februar 2005 - 11:36 #8
kammeyer. virker det også når du har en dvd i drevet og du trykker play ?
Avatar billede dn666 Nybegynder
11. februar 2005 - 11:52 #9
Jeg har fundet ud af at det er når jeg tester min applikation i delphi fejlen opstår.....

hvis jeg eksekverer min exe fil fra windows virker det fint både med og uden directory. mærkeligt..
Avatar billede kammeyer Nybegynder
11. februar 2005 - 11:55 #10
det virker fint når der sidder en DVD i drevet i forvejen.
Avatar billede kammeyer Nybegynder
11. februar 2005 - 11:56 #11
ok - nærlæste ikke lige det sidste du skrev - men jeg har ingen problemer selvom jeg tester den i delphi.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester