je les sous:VB6: ShellExecute un fichier EXE dans AppData
Public Sub ShellApp(URL As String)
Dim vResult As Long
vResult = ShellExecute(0, "open", URL, vbNullString, vbNullString, vbMinimizedFocus)
End If
End Sub
C'est sur une couche qui ne peut pas être changé en raison de plusieurs fonctionnalités nécessaires sur ce sous. Maintenant, sur notre sous-main Main() par exemple, nous vérifions une liste des plugins ajoutés dans un fichier texte à côté de l'EXE, et appelons la boucle Sub in pour le chemin des plugins pour les exécuter. Donc, si j'ai 3 plug-ins comme ci-dessous dans le fichier texte:
C: \ App1.EXE
C: \ App2.EXE
C: \ Users \ AhmadMusa \ AppData \ Roaming \ App3. exe
Les deux premières applications fonctionneront bien sur tous les PC (chemin statique), mais la troisième application ne fonctionnera sur aucun PC sauf le mien qui n'est pas correct ... Notez que App3 est toujours installé sur AppData sur n'importe quel PC, pour y accéder dynamiquement pour exécuter l'application à partir de n'importe quel PC sans ajustements sur le sous-marin.
Quel sera le chemin placé dans le fichier texte pour la troisième application afin qu'il puisse fonctionner sur tous les PC?
J'ai essayé (AppData \ Roaming \ App3.exe) mais cela ne fonctionne pas ... J'ai trouvé sur un thread (http://www.vbforums.com/showthread.php?529776-RESOLVED-Open-a-folder-in-AppData) que je peux appeler quelque chose comme (shell: AppData \ Roaming \ App3.exe) il a fait ne fonctionne pas pour exécuter le App3.exe, mais si j'appelle (shell: AppData \ Roaming), il ouvrira très bien le dossier Roaming. Mais ne peut pas exécuter le fichier EXE.
Des idées?
Merci.
Eh bien, encore il semble ne suis pas faire mon auto clair. Je sais comment obtenir le chemin AppData en utilisant le code, je ne suis pas en cours d'exécution des applications via les données de l'application tout le temps. J'ai une fonction qui prend argument le chemin que je veux exécuter, et puis je shell exécute ce chemin pris à partir de l'argument. Cet argument est personnalisé ce qui signifie qu'il peut être changé en tout ce que vous pouvez imaginer (défini par l'utilisateur) peut être c: \ app.exe peut être d: \ app.exe ou quoi que ce soit d'autre..Maintenant, que dois-je envoyer à cet argument exécuter l'application placée dans AppData "à l'exécution" Je vais envoyer cet argument à l'exécution (de notre fichier tampons où nous sauvegardons le chemin de l'application) sur notre première exécution –
Si je vous comprends, l'utilisateur peut déplacer votre application n'importe où sur leur système et vous souhaitez conserver la possibilité de démarrer l'application via votre interface. Si cela est correct, à moins qu'ils déplacent votre application vers un emplacement quelconque sur le chemin du système, vous aurez besoin d'un moyen de stocker le chemin du nouvel emplacement. – jac
@jac J'ai une application installée n'importe où qui contient la possibilité d'exécuter une application tierce depuis l'intérieur, donc nous avons un onglet où nous plaçons tous les plugins tiers. Ces plugins parfois sur c lecteur, lecteur d ou n'importe où. Supposons maintenant que j'ai une application installée sur le dossier de données de l'application, comment puis-je l'appeler à partir de notre application? Que dois-je mettre sur le chemin? Une recherche Google guidée pour mettre le chemin comme ("shell: AppData \ some folder \") et cela a fonctionné pour ouvrir l'explorateur sur cet endroit, mais pas en cours d'exécution de l'exe. –