On OS from win 2000 or later (any language) can I assume that this path will always exists? For example I know that on win xp in some languages the ‘Program Files’ directory have a different name. So is it true for the System32 folder?
Thanks. Ohad.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
You definitely cannot assume that: Windows could be installed on a different drive letter, or in a different directory. On a previous work PC Windows was installed in D:\WINNT, for example.
The short answer is to use the API call GetSystemDirectory(), which will return the path you are after.
The longer answer is to ask: do you really need to know this? If you’re using it to copy files into the Windows directory, I’d suggest you ask if you really want to do this. Copying into the Windows directory is not encouraged, as you can mess up other applications very easily. If you’re using the path to find DLLs, why not just rely on the OS to find the appropriate one without giving a path? If you’re digging into bits of the OS files, consider: is that going to work in future? In general it’s better to not explicitly poke around in the Windows directory if you want your program to work on future Windows versions.