2014-09-11 6 views
1

J'ai besoin d'ouvrir le fichier exe externe, et dans le même temps de lui passer des arguments.XOJO comment passer des arguments à l'exécutable externe

La documentation dans la bibliothèque Xojo suggère d'utiliser le shell, mais je n'ai pas vu l'exemple pratique comment le faire.

realbasic commande Shell Explication:

Dim sh As New Shell 

sh.Execute("Location to a file") 

J'ai essayé ce qui suit:

sh.Execute("Location to a file" + " " + myArgumentOne + " " + myArgumentTwo) 

Il n'y a pas d'erreur, juste le * .exe n'est pas en cours d'exécution.

S'il existe une solution utilisant FolderItem, je serais ravi de l'utiliser également.

+1

Si la 'un emplacement fichier' peut contenir des espaces, vous devez le joindre avec guillemets avant de le transmettre à' Shell.Execute'. ([Voir ici] (http://docs.xojo.com/index.php/%22%22#Including_a_double_quote_inside_a_literal_string) pour l'ajout de guillemets doubles à des littéraux de chaîne.) Sinon, le shell ne pourra pas localiser l'exécutable. par exemple. 'sh.Execute (" "" Emplacement dans un fichier "" "+" "+ monArgumentOne +" "+ myArgumentTwo)' –

Répondre

1
sh.Execute F.ShellPath +"\program.exe " + parameters 

F est un Folderitm pointant vers le répertoire du programme et des paramètres est une chaîne

2

Vous ne pouvez pas besoin d'utiliser un shell. Lorsque vous avez le folderitem, utilisez Launch pour exécuter le programme et passer les paramètres. Par exemple

dim f as folderitem = GetFolderItem("C:\myprogram.exe", Folderitem.PathTypeShell) 
    f.Launch("Parameter1, Parameter2") 

Voir http://docs.xojo.com/index.php/FolderItem.Launch

Questions connexes