In order for me to execute this program, and pass along a filename as a parameter which I know it acceptsdo I have to parse this string myself, or is there a runtime class that will do this for me? Start, but of course it expects just the filename as the single argument, so that doesn't work. I tried using UseShellExecutebut that didn't help.
The problem you are facing is that the executable name and some arguments are already together in your variable commandPath which is not only the path, but also some params. If the first part were only made up of characters no spacesit wouldn't have been too hard to separate the executable from the params, but this is Windows, so you may have spaces, so you are stuck.
The solution is in not using Process. Startand not using ShellExecute.
The "magic" that you ask for can be achieved by setting its first param to null and its second param to the full path, including all parameters. Like the following, which will start the Windows Photo Gallery for you, while using the same string with the params with Process. Start any which way would yield a "File Not Found" error:.
Note that I deliberately did not include quotes around the executable path. But if the executable path has quotes around it, as with your code above, it will still work, all the magic is there. Combine that with your code snippet, the following will start the process the way you want:.
The declarations are something you can get from http: Hope I understood your problem correctly. Let me know if you have trouble implementing the above code. You did not need to know the application it is going to use. I had a similar problem parsing a ClickOnce UninstallString from the registry to execute using System. I resolved it by removing tokens from the end of the uninstall string until I could detect a valid file path. By posting your answer, you agree how to put command line arguments in perl the privacy cara konsisten profit di forex and terms of service.
Stack Overflow Questions Developer Jobs Documentation beta Tags Users.
Sign up or log in to customize your list. Tour Start here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the penny stock trading broker Business Learn more about hiring developers or posting ads with us.
Log In Sign Up.
Join the Stack Overflow Community. Stack Overflow is a community of 7. Join them; it only takes a minute: From the registry, for a given file type, I get a string containing something like this: Basically, the above would have to be done like this manually: Start ; I tried using UseShellExecutebut that didn't help.
To be clear, I want this: Karlsen k 70 I think you will have to do it manually.
Start any which way would yield a "File Not Found" error: Combine that with your code snippet, the following will start the process the way you want: Zero, false, 0, IntPtr.
Zero, null, ref si, out pi ; The declarations are something you can get from http: I believe it has been a while since I did this that you can just use: Am I understanding what you are looking?
Processing command line arguments - @ARGV in Perl
Or did I miss something? Jacob Schoen 8, 11 59 Karlsen Oct 13 '09 at How about spawning cmd. I also used proc. Join " ", tokens, 0, i ; if File. Sign up or log in StackExchange. Sign up using Facebook. Sign up using Email and Password.
Linux perl command help and examples
Meta Stack Exchange Stack Apps Area 51 Stack Overflow Talent.