Ich habe folgendes sub:VB6: ShellExecute eine EXE innerhalb AppData
Public Sub ShellApp(URL As String)
Dim vResult As Long
vResult = ShellExecute(0, "open", URL, vbNullString, vbNullString, vbMinimizedFocus)
End If
End Sub
Dies ist auf einer Schicht, die nicht auf mehrere Funktionen auf diesem Unter Bedarf geändert werden kann.
Jetzt überprüfen wir zum Beispiel eine Liste der hinzugefügten Plugins, die in einer Textdatei neben der EXE gespeichert sind, und rufen das obige Sub in for loop mit dem Pfad der Plugins auf, um sie auszuführen. Also, wenn ich 3 Plugins wie unten in der Textdatei:
C: \ App1.exe
C: \ App2.exe
C: \ Benutzer \ AhmadMusa \ AppData \ Roaming \ Anw3. exe
Die ersten beiden Anwendungen laufen auf allen PCs einwandfrei (Statischer Pfad), aber die dritte App funktioniert auf keinem PC außer meinem, der nicht in Ordnung ist ... Beachten Sie, dass App3 immer auf jedem PC auf AppData installiert ist um dynamisch darauf zuzugreifen, um die App von jedem PC aus ohne Anpassungen auf dem Sub zu laufen.
Wie wird der Pfad in die Textdatei für die dritte App eingefügt, damit er auf allen PCs funktioniert?
Ich versuchte (AppData \ Roaming \ App3.exe), aber es funktioniert nicht ... Ich fand auf einem Thread (http://www.vbforums.com/showthread.php?529776-RESOLVED-Open-a-folder-in-AppData), dass ich etwas wie (shell: AppData \ Roaming \ App3.exe) es getan hat nicht funktionieren, um die App3.exe auszuführen, aber wenn ich (Shell: AppData \ Roaming) anrufe, wird es den Roaming-Ordner sehr gut öffnen. Aber kann die EXE nicht ausführen.
Irgendwelche Ideen?
Danke.
Nun, noch scheint es ist nicht mein selbst klar zu machen. Ich weiß, wie ich den AppData-Pfad mithilfe von Code abrufen kann. Ich verwende Apps nicht ständig über App-Daten. Ich habe eine Funktion, die Argument den Pfad, den ich ausführen möchte, und dann Shell ausführen diesen Pfad aus Argument. Dieses Argument ist benutzerdefiniert, was bedeutet, dass es auf alles geändert werden kann, was Sie sich vorstellen können (benutzerdefiniert) c: \ app.exe kann d: \ app.exe oder irgendetwas anderes sein .. Nun, was soll ich an dieses Argument senden run app in AppData zur Laufzeit ausführen Ich werde dieses Argument zur Laufzeit senden (aus unserer Pufferdatei, in der wir den App-Pfad speichern) bei unserem ersten Lauf –
Wenn ich Sie verstehe, kann der Benutzer Ihre Anwendung an jeden beliebigen Ort auf ihrem System verschieben und Sie möchten die Möglichkeit erhalten, die Anwendung über Ihre Schnittstelle zu starten. Wenn dies korrekt ist, müssen Sie, wenn Sie Ihre Anwendung nicht an einen Ort im Systempfad verschieben, eine Möglichkeit zum Speichern des Pfads des neuen Speicherorts verwenden. – jac
@jac Ich habe eine Anwendung anyplace installiert, die die Möglichkeit enthält, jede Anwendung von Drittanbietern von innen zu laufen, so haben wir eine Registerkarte, wo wir alle Drittanbieter-Plugins platzieren. Solche Plugins sind manchmal auf Laufwerk, Laufwerk oder wo auch immer. Nun nehme ich an, ich habe eine App im App-Datenordner installiert, wie kann ich sie von unserer Anwendung aus aufrufen? Was soll ich auf den Weg legen? Eine Google-Suche führte den Pfad als ("shell: AppData \ some folder \") und das funktionierte, um den Explorer an diesem Ort zu öffnen, aber nicht die exe. –