[C#] Een bestand openen met je applicatie(exe)

Pagina: 1
Acties:
  • 103 views sinds 30-01-2008
  • Reageer

  • Bartjuh
  • Registratie: Oktober 2001
  • Niet online
Als ik een bestand heb, en die wil ik openen met mijn applicatie. Gewoon openen in de windows explorer, dus dubbelklikken op het bestand of 'openen met' pakken en dan pointen naar de executable..

Dan moeten er toch een soort van argumenten mee worden gegeven aan de applicatie.
Maar ik kan er nergens iets duidelijks over vinden (ook niet met de GoT search, google en msdn library van C#).

Kan iemand mij vertellen hoe ik dat op kan vangen als de applicatie op start?
alvast bedankt.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Heb je het over bijvoorbeeld DDE-opties die je mee kan geven?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Als je even googled op "c#" en "main" dan vind je al snel dit:
C#:
1
static void Main(string[] args)

  • MLM
  • Registratie: Juli 2004
  • Laatst online: 12-03-2023

MLM

aka Zolo

Bartjuh schreef op woensdag 15 december 2004 @ 19:34:
Als ik een bestand heb, en die wil ik openen met mijn applicatie. Gewoon openen in de windows explorer, dus dubbelklikken op het bestand of 'openen met' pakken en dan pointen naar de executable..
koppelen gaat als volgt: in een explorer (verkenner of deze computer), Tools->Folder Options, tab File Types kun je je prog koppelen (zodat dubbelklik op een file van dat type je app opent).
Dit kun je ook via het register doen (bv tijdens installatie)
Bartjuh schreef op woensdag 15 december 2004 @ 19:34:
Dan moeten er toch een soort van argumenten mee worden gegeven aan de applicatie.
Maar ik kan er nergens iets duidelijks over vinden (ook niet met de GoT search, google en msdn library van C#).

Kan iemand mij vertellen hoe ik dat op kan vangen als de applicatie op start?
alvast bedankt.
Hmmz... dat is de commandline van je app.. ff zoeke in MSDN:
TADA: System.Environment.Commandline :+

Edit:
Verwijderd schreef op woensdag 15 december 2004 @ 19:44:
Als je even googled op "c#" en "main" dan vind je al snel dit:
C#:
1
static void Main(string[] args)
mss is dat wel de oplossing ja... maar waarom hebben ze dan een commandline variabele in System.Environment zitten?
Lijkt erop dat je kan kiezen
8)

[ Voor 17% gewijzigd door MLM op 15-12-2004 19:52 ]

-niks-


  • Bartjuh
  • Registratie: Oktober 2001
  • Niet online
Verwijderd schreef op woensdag 15 december 2004 @ 19:44:
Als je even googled op "c#" en "main" dan vind je al snel dit:
C#:
1
static void Main(string[] args)
Logisch :)

Naja, bedankt jongens _/-\o_

Verwijderd

MLM schreef op woensdag 15 december 2004 @ 19:50:... maar waarom hebben ze dan een commandline variabele in System.Environment zitten?
Lijkt erop dat je kan kiezen
8)
Omdat je dan commandline-parsers kunt maken die je ook vanuit VB, managed C, of een andere dotNet taal kunt oproepen. Onder water zal die "string[] args" vast wel System.Environment.Commandline gebruiken.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 18-05 09:50

pjvandesande

GC.Collect(head);

Het grootte voordeel van System.Environment.Commandline is dat het static is en je er overal in je applicatie bij kan.

Je kan ook de args van je main gebruiken. Maar moet je ze zelf weer door je hele applicatie gooien, met System.Environment.Commandline heb je dit niet.

Verwijderd

Als je overal door je programma heen de commandline gaat verwerken, ben je naar mijn mening, architectonisch niet handig bezig. Eventueel onderhoud op commandline opties zit dan verspreid door meerdere componenten.

Ook moet ieder object zo mijn mogelijk externe referenties en afhankelijkheden hebben om het makkelijker in te kunnen zetten in andere projecten. In bijvoorbeeld een webapplicatie heb je niets aan system.environment.commandline en als je object daarvan afhankelijk is, verklein je de inzetbaarheid. Opties die een object persee nodig heeft moeten in de contructor worden meegegeven als argumenten en niet als globale variabelen.
Pagina: 1