Systemroot finden & copy auch wenn exist. via vc++

hey!
meine frage bezieht sich auf eine form, die ich versuche in vc++ zu programmieren. dabei soll eine datei ersetzt/ kopiert werden, egal um sie existiert oder nicht.
im mom versuche ich eine dll zu kopieren wie folgt:

System::IO::File::Copy("\test.dll", „%systemroot%\system32\test.dll“);

die test.dll befindet sich in dem selben ordner wie meine auszuführenden exe.
Sie soll also in den windowsordner kopiert werden, und dann unter \system32.
Dabei soll sie notfalls auch überschrieben werden, wenn sie existieren sollte.

Also kurz gefasst:

  1. Wie kriege ich den Windowsordner raus?
  2. Wie überschreibt bzw kopiert er die automatisch?

und 3) (was ich noch nicht gefragt habe) wie kann ich die datei überspringen, wenn es die doch nicht in dem Source-Ordner liegt?

Dankend

Johannes

okay, wie ich nun das automatische ersetzen bekomme, weiß ich nun selber:
if(System::IO::File::Exists("\test.txt")== true)
{
if (System::IO::File::Exists(„C:\test.txt“)== true)
{
System::IO::File::smiley:elete(„C:\test.txt“);
}
System::IO::File::Copy("\key.txt", „C:\test.txt“);
}

nun bleibt nur noch die frage, wie ich den systemordner rausbekomme…

irgendwer eine idee???

okay, wie ich nun das automatische ersetzen bekomme, weiß ich
nun selber:
if(System::IO::File::Exists("\test.txt")== true)
{
if (System::IO::File::Exists(„C:\test.txt“)== true)
{
System::IO::File::smiley:elete(„C:\test.txt“);
}
System::IO::File::Copy("\key.txt", „C:\test.txt“);
}

nun bleibt nur noch die frage, wie ich den systemordner
rausbekomme…

http://msdn.microsoft.com/en-us/library/tehxacec.aspx

getenv(„SystemRoot“);
getenv(„SystemDrive“);
getenv(„ProgramFiles“);
getenv(„HOMEPATH“);
getenv(„ALLUSERSPROFILE“);
getenv(„APPDATA“);
getenv(„CommonProgramFiles“);
getenv(„COMPUTERNAME“);

usw.

Grüße

CMБ

hey!
danke dir.
habe es nun so gelöst:

if (System::IO::File::Exists("\test.txt")== true)
{
String ^systemroot = gcnew String(getenv(„SystemRoot“));
if (System::IO::File::Exists( systemroot + „\test.txt“)== true)
{
System::IO::File::smiley:elete(systemroot + „\test.txt);
}
System::IO::File::Copy(“\test.txt", systemroot + "\test.txt);
}

mit den dementsprechenden lib natürlich noch

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]