[C++ VS 6.0], Aufrufparameter

Deunan

Mitglied
Hi!

Nach längerem suchen in diesem Forum, hab ich mich entschlossen
diesen Thread zu schreiben.

Also, bei Konsolenanwendungen ist es ja kein Problem ein Programm mit Parametern aufzurufen (argc, argv) ...

Jetzt möchte ich aber von meinem dialogfeldbasierenden Programm aus, ein anderes aufrufen und ihm dann gleich Parameter mitgeben.

Z.B.:
Hab jetzt zum Beispiel eine Adressverwaltung und möchte die Nummer des Datensatzes mitgeben um im anderen Programm gleich wieder zum aktuellen Datensatz zu laden.

Habs mit CreateProcess probiert. Versteh aber die ganzen Paramter nicht richtig. Kann man das damit überhaupt realisieren?+

Und wenn ich das ganze dann hab, wie kann ich dann im anderen Programm die Parameter wieder auslesen, so das es klappt?????

Ich hoff ihr könnt mir helfen

Danke!
 
Wenn Du die MFC benutzt, dann musst Du Dir die Klasse CWinApp etwas zu Gemüte führen.

Die Übergabeparameter werden in CWinApp::m_lpCmdLine gespeichert. Diese kannst Du dann auswerten.

Beispiel:
Code:
BOOL CMyApp::InitInstance()
{
   // ...
  
   if (m_lpCmdLine[0] == _T('\0'))
   {
      // Create a new (empty) document.
      OnFileNew();
   }
   else
   {
      // Open a file passed as the first command line parameter.
      OpenDocumentFile(m_lpCmdLine);
   }
  
   // ...
}
 
und wenn du mit WINAPI programmierst, findest du es in der main funktion in lpCmdLine:

Code:
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

da steht alles drinne, was du hinter das programm schreibst, also ein parameter...

->
programm.exe -bla -bla

und in lpCmdLine würde dann "-bla -bla" stehen... is wohl das einfachste was es gibt :)
 
Zurück