Explorer starten mit Parametern
-
Hallo zusammen,
ich möchte gerne ein kleines Programm schreiben in dem ich nach einem Jahr gefragt werde und danach nach einer Projektnummer. Anschließend soll dann der Explorer geöffnet werden und das Verzeichniss "H:\Projekte\Vorher eingegebenes Jahr\Vorher eingegebene Projektnummer\" geöffnet werden. Das Verzeichnis muss natürlich vorhanden sein.
Hier mein Versuch:
#include <iostream.h>
#include <windows.h>void main (void)
{
int Jahr;
int Projektnummer;cout << "Jahr:";
cin >> Jahr;
cout << "Projektnummer:";
cin >> Projektnummer;WinExec("C:\\WINDOWS\\explorer.exe H:\\Projekte\??????????, SW_SHOW);
}
Nur weiss ich nicht wie ich jetzt die eingegebenen Parameter hinter das "H:\Projekte\" bekomme?
Kann mir da jemand helfen?
Gruss Hausen
-
WinExec ist deprecated, stattdessen solltest du entweder CreateProcess() oder vll. für dich wesentlich besser: ShellExecute() einsetzen.
Du parsed deine Zahlen in einen String und übergibst den dann, kannst du z.B. mit einem String-Stream aus C++ machen - siehe dazu C++-FAQ "Einmal von Zahl nach String und zurück"
MfG SideWinder
-
Aber wie übergebe ich diese Parameter dann? Wie sieht der Code dann aus?
Gruss Hausen
-
Na du hast dann einen fertigen String und hängst den an den bestehenden String dran und übergibst ihn als Gesamtes.
Bzw. wenn du wie empfohlen ShellExecute() einsetzt, brauchst du den Pfad zum Explorer afaik gar nicht und kannst nur den eingelesenen Pfad basteln und den übergeben.
Da du anscheinend weniger Probleme mit dem Starten des Explorers hast, als viel mehr mit der String-Verarbeitung (Wie hänge ich zwei Strings aneinander? Wie wandle ich eine Zahl in einen String um? etc.) verschiebe ich dich mal nach C++!
MfG SideWinder
-
Dieser Thread wurde von Moderator/in SideWinder aus dem Forum DOS und Win32-Konsole in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Da hast Du wohl recht, nur verstehe ich gerad nur Bahnhof. Habe mal mehr C++ programmiert, nur leider bin ich etwas aus der Übung.
Ist es vielleich möglich das Du mir mal ein Beispiel gibst, wie das dann aussieht?Gruss Hausen
-
Schau mal in die FAQ, um die Zahlen in Strings umwandeln zu können - danach kannst du diese Strings ganz elementar zusammenfügen (std::string kann mit + verkettet werden) und bekommst über c_str() die char-Array Repräsentation des Strings, die du an WinExec() und Kollegen weitergeben kannst.
-
- FAQ für zahl in string (hint: std::stringstream)
- MSDN für ShellExecute
Wenn du das gelesen hast musst du uns nicht mehr bitten, diese 3-4 zeilen für dich zu schreiben

-
Hallo hey,
also ich dachte eigentlich das so ein Forum dazu da ist das mir schnell weitergeholfen wird. Wie mann sich Dinge erarbeitet weiß ich selber....
Aber Danke für die Hilfe.
Gruss Hausen
-
mr.hausen schrieb:
also ich dachte eigentlich das so ein Forum dazu da ist das mir schnell weitergeholfen wird.
Ja, aber wir bevorzugen normalerweise die Methode "Hilfe zur Selbsthilfe" - das bringt dir effektiv mehr als wenn wir dir das Programm komplett vorkauen.
(und macht uns auch weniger Arbeit :D)