Programm in anderen Pfad

  • Allgemein

Es gibt 46 Antworten in diesem Thema. Der letzte Beitrag () ist von Patrick1993.

    Programm in anderen Pfad

    Hallo Community,
    Ich habe ein Programm zusammen mit einem Freund und ich will nun eine weitere exe damit verknüpfen.
    Soweit funktioniert auch alles. Doch da nicht jeder das Programm auf dem Desktop und unter dem gleichen User hat wie ich würde ich es gerne in einen Pfad packen wo es sogut wie jeder hat und das ganze dann auf dem Desktop Verknpüfen.

    Wo packe ich das ganze am besten hin und wie mache ich das ??

    Edit by der_Kurt:
    falsches Unterforum
    * Topic verschoben *

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    Der pfad an sich ist ja nicht der Schwachpunkt.

    Ich habe das Programm unter C:\Dokumente und Einstellungen\'***\Desktop\Funkspiel Programming\Piepser und FMS\Piepser und FMS\bin\Debug (Testweise) und dort wird es ja niemand haben oder haben wollen.

    Dadurch will ich die Datein in einen Pfad packen der von eigendlich jedem genutzt wird

    Timtim schrieb:

    Mach es doch so das du einfach unter C oder unter C:/Programme/
    einen Ordner erstellst. /Programme hat so gut wie jeder auf
    dem PC sofern er nicht neu installiert ist ;)

    Den Ordner kannst dann ja sofern gewollt unsichtbar machen


    Das mache ich wie ??
    Ich bin zwar relativ viel wissend was PC's an sich anbetrifft und auch in sachen Programmieren aber sowas habe ich noch nie gemacht da ich noch nie mit mehr als 2 programmen gearbeitet habe somit Sorry für die dummheit da ich nicht weiss wie ich das in C:/Programme/ bekomme.

    *bahnhof verstanden*

    - was willst du verknüpfen ?
    - willst du zu datei verknüpfung erstellen ?
    - willst fremde anwendung in eigene einbetten ?
    - willst pfad der verknüpfung auslesen ?
    - vieleicht dein vorhaben hat nichts mit vb zu tun ?

    ...vieleicht deutlicher beschreiben und paar's screen anhängen...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „SystemUnknow“ ()

    - was willst du verknüpfen ?
    Ich will 2 exe Datein mit dem Shell befehl verknüpfen.

    - willst du zu datei verknüpfung erstellen ?
    Genau. Ich habe 2 exe (Tendenz steigend) die ich in einem Programm verknüpfen will damit man nicht 6 Millionen exe Manuell öffnen muss

    - willst fremde anwendung in eigene einbetten ?
    ja allerdings sind die Anwendungen von mir selbst geschrieben

    - willst pfad der verknüpfung auslesen ?
    Nein. Den Pfad kann ich selbst rausfinden.

    - vieleicht dein vorhaben hat nichts mit vb zu tun ?
    Ich Programmiere das alles in Visual Basic

    1. Erstelle eine neue Form "firststart"
    2. Erstelle eine neue Setting "firststart"
    3. Stelle in deinem Projekt die Startform auf "firststart" um
    4. Code für die firststart Form

    VB.NET-Quellcode

    1. If my.settings.firststart = "false" ThenDEINEFORM.Showme.CloseElse
    2. End If
    5. Füge in deine firststart Form eine Textbox ein in welche der User den Pfad eingeben muss.
    6. Füge einen Button ein welche prüft ob der Ordner / Datei welcher in der Textbox eingegeben ist stimmt.
    7. Erstelle eine Setting welche "Pfad" heisst.
    8. Speichere die Eingaben der Textbox in My.settings.Pfad
    9. Ersetze mit dem Speichern False durch True in der My.settings.firststart

    Fertig
    Wenn ich dafür kein Danke bekomme ^^
    Geht das ganze auch ohne neue Form,MySettings etc ?
    Denn wir wollen den nutzern so wenig arbeit wie nur möglich machen.

    *Edit* Reicht es wenn ich das Programm sprich den ganzen Ordner einfach in den Ordner "Programme" auf dem Pfad C:/Programme ablege und dann drauf verweise ??

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Patrick1993“ ()

    Ich will auf eine einfache exe verweisen allerdings soll es bei allen relativ gleich gehen da ich nicht immer den Pfad ändern will wen nich das Programm vergebe

    Sieh dir doch mal die Environment-Klasse an.

    VB.NET-Quellcode

    1. Environment.GetFolderPath(Environment.SpecialFolder.System)

    Die Specialfolders sind Maschinen- und Benutzerunabhängig. Du kannst also unter dem angemeldeten Benutzer speichern, ohne zu wissen wie der heisst.

    Fiel Fergnügen

    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    Also muss ich einfach

    VB.NET-Quellcode

    1. Environment.GetFolderPath(Environment.SpecialFolder.System)

    Ins Form Lod event oder in einen Button einfügen ??

    Neee,
    Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) gibt dir einen Pfad zurück. In diesem Beispiel:
    Das Verzeichnis, das als allgemeines Repository für programmspezifische Daten verwendet wird, die von einem aktuellen Benutzer verwendet werden, der kein Roamingbenutzer ist.

    Den Pfad verwendest du dann, um deine exen bei allen Benutzern und Rechnern unter einem identischen Pfad abzulegen und zu öffnen.
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    wnn ich es richig verstanden habe:
    Alle exen sind in einem ordner. Mit den code tu ich die exen aus dem ordner raus öffnen ?? egal ob desktop,Eigene Datein etcpp ?

    wenn ich was falsc verstaanden habe bitte um berichtigung

    Neien...
    Du kannst deine Dateien immer unter einem einheitlichen Pfad (z.B. Benutzer\AppData\Wuselbim...) durch dein Prog speichern lassen tun.
    Beim Aufruf liegen sie dann halt uinter diesem Pfad erreichbar.
    Der Trick mit Environment.bla ist halt der, dass Environment.SpecialFolder.LocalApplicationData immer unter Benutzer\AppData\Local liegt (oder bei XP ebe Dokumente und Einstellungen....) egal ob der Benutzer Horst oder Hermann heißt.

    Wenn die Dateien immer woanders liegen, mußt du halt danach suchen und die Pfade iwo speichern.
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:

    VB.NET-Quellcode

    1. Environment.GetFolderPath(Environment.SpecialFolder.Desktop)


    Speicher also die Datein bzw exe Datein auf dem Desktop.

    Wenn ich aber nun einen Ordner habe indem weitere ordner sind für die anderen exe Datein, wie müsste ich den Code dann anpassen oder braucht man den garnicht anpassen ?

    Schreib das in ein Button_Click-Event:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Debug.WriteLine("Pfad zu Appdata: " & Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData))
    3. Debug.WriteLine("Pfad zu CommonApplicationData: " & Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData))
    4. Debug.WriteLine("Pfad zu CommonDocuments: " & Environment.GetFolderPath(Environment.SpecialFolder.CommonDocuments))
    5. Debug.WriteLine("Pfad zu Desktop: " & Environment.GetFolderPath(Environment.SpecialFolder.Desktop))
    6. Debug.WriteLine("Pfad zu LocalApplicationData: " & Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData))
    7. Debug.WriteLine("Pfad zu MyDocuments: " & Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments))
    8. Debug.WriteLine("Pfad zu ProgramFiles: " & Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles))
    9. End Sub

    Und denn schau dir die AQusgaben im Direktfenster an. Lies den Link, den ich dir geschickt habe. da ist alles erklärt, was diese Methode tut.

    Edit:
    Mit Path.Combine kannst du den gewünschten Pfad dann um deine Unterordner und Dateinamen erweitern. Was du damit dann machst, sprich speichern, laden oder aufrufen ist allein dir überlassen. Du bekommst halt nur einen String, der den Pfad angibt.

    nochma Edit:
    Ich will 2 exe Datein mit dem Shell befehl verknüpfen.

    Shell is uralt aus vb6-Zeiten. Ich weis, es funktioniert auch, aber man kann auch in Unterhose Straßenbahn fahren (sieht nur Sch....ße aus und wird irgendwann nicht mehr unterstützt werden) Nimm statt dessen die Process-Klasse.
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Vatter“ ()

    Wenn 2 Programme etwas miteinander tun sollen, aber nicht wissen, wo jeweils das andere ist, sollten sie sich über die Registry mit den erforderlichen Informationen versorgen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!