Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 473
  • Last Modified:

Problem with shellexecute ?

Hi guys
I use shellexecute to run another application by my program
this instruction success with most of programs , but it is not work well with games programs ,some times don't do anything and another time give me an error
I want to run any program without any problem .

thanks
0
peruzzi
Asked:
peruzzi
  • 9
  • 8
1 Solution
 
shaneholmesCommented:
Try this

 function CreateProcessSimple(
  sExecutableFilePath : string )
    : string;
var
  pi: TProcessInformation;
  si: TStartupInfo;
begin
  FillMemory( @si, sizeof( si ), 0 );
  si.cb := sizeof( si );

  CreateProcess(
    Nil,

    // path to the executable file:
    PChar( sExecutableFilePath ),

    Nil, Nil, False,
    NORMAL_PRIORITY_CLASS, Nil, Nil,
    si, pi );

  // "after calling code" such as
  // the code to wait until the
  // process is done should go here

  CloseHandle( pi.hProcess );
  CloseHandle( pi.hThread );
end;


SHane
0
 
shaneholmesCommented:
sorry,

Then call it like - CreateProcessSimple( 'C:\MyApp.exe' );

Shane
0
 
HypoviaxCommented:
Just a query shane, why would shellexecute not work? In every instance i've tried to run a program it has worked using code such as

shellexecute(handle,'open',pchar(filepath),'','',sw_show);

Regards,

Hypoviax
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
peruzziAuthor Commented:
Hi
Hypoviax, you are right ,its my fault I wrote SW_SHOWNORMAL

thanks for you and thanks for shan
0
 
shaneholmesCommented:
I dont know, but it looks lke he didn't like your answer either - "B"

<Smile>

Shane
0
 
peruzziAuthor Commented:
sorry shan
but your answer didn't solve my problem
and the bad thing is that the accepted answer didn't work with all applications

I choose the wrong answer to be accepted.

sorry again
0
 
shaneholmesCommented:
Hmm, what didn't my procedure do?

Could you elaborate more on both Hypoviax's and mine, as to why they didn't work, what you received for any errors, etc.

Shane
0
 
peruzziAuthor Commented:
Hi
your code and Hypoviax's code run the game for part of second and then close without give any error !!!!!

0
 
shaneholmesCommented:
Is the game a dos game or Windows game?

Shane
0
 
shaneholmesCommented:
Hey Hypoviax, I guess it doesn't work in every instance.... <SMILE>

"Just a query shane, why would shellexecute not work? In every instance i've tried to run a program it has worked using code such as"

Shane
0
 
peruzziAuthor Commented:
It is windows program like fifa2004
0
 
shaneholmesCommented:
Well, i have tested my procedure over and over with all kinds of Dos, & windows programs, and it works fine. So does the SHellExecute method of the API. Try it yourself, with some applications on your machine and you will see. There is something else about your program that hasn't been disclosed to us.  

SO its a game like Fifa2002 - you can't tell us what game it is?

Shane
0
 
peruzziAuthor Commented:
Hi guys
I tried to use (winexec function)
it success when I  use opendialog component with this code on the button :

if opendialog1.Execute then
winexec(pchar(opendialog1.FileName),sw_show);

but if I write in the code of button :

winexec(pchar('c:\my game.exe'),sw_show);

the game not work and I see an error message( zsystem defulte output
game release only support packed scenes)

so what you say

I am waiting .............
0
 
shaneholmesCommented:
Try renaming the Executable (right click choose rename)

from

my game.exe

to

mygame.exe

SHane
0
 
peruzziAuthor Commented:
the problem isn't on space in the exename
because the function do the same wronge with exename don't have space


0
 
peruzziAuthor Commented:
shane , your procedure do the same wronge with the same error message
0
 
peruzziAuthor Commented:
where are you guys

help me
0
 
peruzziAuthor Commented:
Hi guys
stop you search for solution
because I find  where  the problem is

when I try to run the game ,the game start but it try to get its data from the folder of my application
so I use setcurrentdir to go to the folder of game.

I wish you understand me
thanks for your help
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 9
  • 8
Tackle projects and never again get stuck behind a technical roadblock.
Join Now