Parameter-übergabe an Windowsprogramm

colblake

Erfahrenes Mitglied
hi,
Ich hab 2 Fragen:
1)
Ich habe ein Windowsprogramm geschrieben und möchte nun Dateien per Parameter an dieses Programm übergeben.Soll heisen => per Drag&Drop
Ereignis auf das Programmicon.

2)
Wie kann ich mein Programm in das kontextmenü des Explorers eintragen?
=> rechte Maustaste auf eine Datei (so wie das zb WinZip macht)?

Mfg col.blake
 
1. An die übergebenen Parameter kommst du bei MFC mit CWinApp::parseCommandLine() dran. Ansonsten werden sie ja als arcv,argc an die main()-Funktion übergeben.
 
thx

CCommandLineInfo cmdinfo;
ParseCommandLine(cmdinfo);
cmdinfo.m_strFileName
...
->funktioniert super .
Leider kann ich damit nur einen Parameter (Datei) übergeben.Ich möchte aber die Parameteranzahl frei wählbar machen (0.....n Dateien).
Wie kann ich das machen?


Mfg col.blake
 
Zuletzt bearbeitet:
Wenn du eine Mehrfachselektion machst und mehrere Dateien gleichzeitig öffnest, sollten eigentlich alle Pfade an die Anwendung übergeben werden. Du kannst dies testen, in dem du dir einfach mal alle Parameter ausgeben lässt. Obwohl, daran hast du vermutlich selber gedacht, oder?
 
in der Lybary von VisualStudio sind nur folgende Klassenmember von CCommandLineInfo angegeben:

m_bShowSplash
m_bRunEmbedded
m_bRunAutomated
m_nShellCommand
m_strFileName
m_strPrinterName
m_strDriverName
m_strPortName

Ich werde aber noch n bissl rumprobieren .

Mfg col.blake
 
Ich habe mal in meinen Sourcen nachgesehen. Die vollständige Kommandozeile steht in CWinApp::m_lpCmdLine. Ich habe sie anscheinend immer von Hand geparst.
 
Danke ,
sowas habe ich gesucht .
Parsen werd ich den string wohl auch selber, das sollte net das Problem sein .

Mfg col.blake

Ps : Wenn noch jemand ne Idee hat zur Frage 2, bitte posten!
 

Neue Beiträge

Zurück