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

Frage Entwicklung Visual Studio

Mitglied: ForgottenRealm

ForgottenRealm (Level 1) - Jetzt verbinden

17.10.2014, aktualisiert 20.10.2014, 2353 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
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 4 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 9 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 9 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 21 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...