Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Anwendung mit Datei öffnen

Mitglied: ForgottenRealm

ForgottenRealm (Level 1) - Jetzt verbinden

17.10.2014, aktualisiert 20.10.2014, 2412 Aufrufe, 9 Kommentare

Hallo und moinmoin!


Ich habe eine Anwendung erstellt, für die ich Dateien mit einer bestimmten Erweiterung verwende.
Nun ist es ja möglich, in den Projekteigenschaften vom VS2013 unter Veröffentlichen > Optionen > Dateizuordnung den gewünschten Dateityp hinzuzufügen.

Dies funktioniert auch bestens, die Dateien werden dem installierten Programm zugewiesen. Jetzt möchte ich aber noch wissen, welche Datei (=Pfad der Datei) das Programm gestartet hat, wenn ich die Datei z.B. auf dem Desktop angeklickt habe.

Wie komme ich im Programm an diese Datei?

Hoffentlich versteht ihr, was ich meine
Für Google gingen mir so langsam die Suchmöglichkeiten aus, weil ich selber keine Ahnung habe, nach was ich da suchen soll ...

Freundliche Grüße und ein schönes Wochenende!
Mitglied: SlainteMhath
17.10.2014 um 12:23 Uhr
Moin,

Google nach

"<von dir verwendete Programmiersprache> read Commandline"

lg,
Slainte
Bitte warten ..
Mitglied: ForgottenRealm
17.10.2014 um 12:55 Uhr
Moin,

An Parameter bzw Commandline habe ich auch schon gedacht, allerdings zeigt mir das Programm beim Start leider nichts an.

01.
    Dim CommandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Application.CommandLineArgs 
02.
 
03.
    Private Sub frm_Start_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
04.
 
05.
        For i As Integer = 0 To CommandLineArgs.Count - 1 
06.
            MsgBox(CommandLineArgs(i)) 
07.
        Next 
08.
...
Mein Wunsch ist, dass wenn ich auf eine Datei klicke, das Programm geöffnet wird und die Datei die geöffnet wurde, als Variabel verwendet werden kann.
Ist die Commandline dafür denn überhaupt richtig?
Bitte warten ..
Mitglied: SlainteMhath
17.10.2014, aktualisiert um 13:19 Uhr
Ist die Commandline dafür denn überhaupt richtig?
Ja ist sie.

Schau mal am Command Prompt nach ob dein Programm richtig verknüpft ist:
1.
01.
assoc | findstr (deine extension)
Ergebnis so was wie
.txt=txtfile

2.
01.
ftype | findstr txtfile
Ergbnis sowas wie
01.
txtfile=%SystemRoot%\system32\NOTEPAD.EXE  %1
Das ist die Kommandozeile die aufgerufen wird, %1 wird dabei durch die Datei inkl. kompl. Pfad ersetzt auf die Doppelgeklickt wurde. Ggfs. kannst du mit FTYPE und ASSOC auch die Verknüpfung Extension -> Programm selber konfigurieren.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 17.10.2014, aktualisiert 20.10.2014
Moin,
du baust hier eine ClickOnce-Applikation keine "normale" Anwendung in diesem Sinne.
Normalerweise macht man sowas richtig mit einem Installer-Projekt das die Zuordnung der Dateierweiterung übernimmt, dann funktioniert das so wie du es oben im Code machst.

In deinem Fall musst du es über einen Workaround machen, da der Aufruf deiner Applikationen über die Dateierweiterung anders geschieht.
So sieht das aus wie deine Dateierweiterung mit deiner Anwendung im System von dem Click-Once Installer verknüpft wird:
rundll32.exe dfshim.dll, ShOpenVerbExtension {45366dfd-f8ef-439e-bf14-afaf3d125908} %1
Deswegen geht es mit den normalen Methoden zum Überprüfen der Parameter hier nicht !

Für den Workaround siehe:
http://developingfor.net/2010/06/23/processing-command-line-arguments-i ...

In VB.Net sieht das dann so aus
01.
Dim args As String() = AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData 
02.
If Not args Is Nothing Then 
03.
    For Each arg As String In args 
04.
        MsgBox(arg) 
05.
    Next 
06.
End If
Grüße Uwe
Bitte warten ..
Mitglied: miniversum
17.10.2014 um 14:26 Uhr
Hallo
Du hast zwei Möglichkeiten:

1. Du rufst die Übergabeparameter in der Program.cs direkt über die Main ab. Dazu musst du die Main funktion von
static void Main()
in
static void Main(string[] args)

2. Du kannst die Parameter auch über
string[] CommandLineArgs = Environment.GetCommandLineArgs();
in ein Array übernehmen. Die Elemente des Arrays kannst du dann auswerten.
Diese Möglichkeit bietet den Vorteil das du sie an einer belibigen Stelle im Code verwenden kannst (muss nicht in der Program.cs sein)
Bitte warten ..
Mitglied: SlainteMhath
17.10.2014 um 14:31 Uhr
@miniversum
Er programmiert nicht in C# sondern VB ... :P
Bitte warten ..
Mitglied: colinardo
17.10.2014, aktualisiert um 14:45 Uhr
@miniversum
und wie gesagt, nutzen einem die normalen Methoden hier nicht, da es sich so wie der TO beschreiben hat um eine Click-Once Anwendung handelt, welche er mit der Deploy-Methode von Visual Studio veröffentlicht.

Dazu müsste er die App kompilieren und über ein Installer-Projekt(welches die Dateierweiterung setzt) verteilen, ohne die integrierte Deploy-Funktion von VS zu nutzen. Dann wäre es nämlich eine klassische Anwendung, mit der die normalen Methoden zum Abfragen der Parameter wieder funktionieren.
Bitte warten ..
Mitglied: ForgottenRealm
20.10.2014 um 08:22 Uhr
Guten Morgen !

Ich danke euch vielmals für die Hilfe, colinardo hatte wieder mal den richtigen Tipp für mich.

Gibt es auch eine Möglichkeit, eine Datei an das Programm zu "übergeben" (= Doppelklick auf die Datei, Programm öffnet sich, Funktion zeigt Name der Datei an), wenn ich das Projekt über VS starte (Debuggen), oder muss ich es wirklich jedes Mal erst exportieren, installieren und testen?

Freundliche Grüße!
Bitte warten ..
Mitglied: colinardo
20.10.2014 um 10:18 Uhr
Zitat von ForgottenRealm:
Gibt es auch eine Möglichkeit, eine Datei an das Programm zu "übergeben" (= Doppelklick auf die Datei,
Programm öffnet sich, Funktion zeigt Name der Datei an), wenn ich das Projekt über VS starte (Debuggen), oder muss ich
es wirklich jedes Mal erst exportieren, installieren und testen?
https://social.msdn.microsoft.com/Forums/vstudio/en-US/ff3cda97-8772-4a6 ...

Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Webbrowser
Java Anwendung direkt öffnen
gelöst Frage von Jabberwocky86Webbrowser1 Kommentar

Hallo zusammen Ich habe ein kleines Problem mit einer Java Anwendung. Die Software welche bei uns für den Kreditoren ...

Webbrowser

Anwendung das eine Internetseite mit verschiedenen Proxyadressen öffnen

Frage von RhunokWebbrowser9 Kommentare

Hallo:) Ich hoffe die Frage wurde hier noch nicht behandelt. Und zwar bräuchte ich ein Programm oder eine Anwendung ...

Batch & Shell

exe Datei zum Öffnen einer anderen Datei

gelöst Frage von Amateur01Batch & Shell15 Kommentare

Hallo, ich ein kompletter Anfänger, der ein kleines Programm schreiben wollte, um einen Löschvorgang zu automatisieren. Irgendwann hatte ich ...

Webbrowser

Google Chrome verlinkte Dateien statt speichern mit Anwendung öffnen

Frage von KgFmBWebbrowser

Hallo liebe Gemeinde, irgendwie finde ich die Einstellung in Google Chrome nicht, dass z.B. Office-, PDF-, oder andere verlinkte ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

Grafikkarten & Monitore
4k EIZO Monitor, Fernseher und Splitter
Frage von LerxxeyGrafikkarten & Monitore9 Kommentare

Hallo Zusammen, vielleicht könnt ihr mir bei einem Problem helfen wo ich einfach nicht mehr weiterkomme Und zwar haben ...

TK-Netze & Geräte
Fax im Betrieb
Frage von gansa28TK-Netze & Geräte6 Kommentare

Hallo zusammen, Endlich wurden meine Gebete Erhört und der Rechner meines Bekannten dem ich etwas unter die Arme greife, ...

Windows Server
HyperV Failover Cluster Konzeption und Aufbau
Frage von snowboard86Windows Server5 Kommentare

Hallo liebe KollegInnen, Ich habe eine Frage zu Hyper V Failover-Clusters. Wir sind ein mittelständisches Handelsunternehmen und haben aktuell ...