KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
In C# (.NET), can two threads running in the same application have DIFFERENT "WorkingFolders"?? As best I can tell, the answer would be "NO". I think the WORKING DIR is set by the PROCESS in Win32.. Am I wrong here? According to the following test code, (as well the Win32 SetCurrentDirectory API call), this is NOT possible, but has anyone figured out a way to MAKE it possible? using System; using System.Threading; public class TestClass { public ManualResetEvent _ThreadDone = new ManualResetEvent(false); public static void Main() { Console.WriteLine(Environment.CurrentDirectory); Thread _Thread = new Thread(new ParameterizedThreadStart(Go)); TestClass test = new TestClass(); _Thread.Start(test); if(test._ThreadDone.WaitOne()) { Console.WriteLine("Thread done. Checking Working Dir..."); Console.WriteLine(Environment.CurrentDirectory); } } public static void Go(object instance) { TestClass m_Test = instance as TestClass; Console.WriteLine(Environment.CurrentDirectory); System.IO.Directory.SetCurrentDirectory("L:\\Projects\\"); Console.WriteLine(Environment.CurrentDirectory); m_Test._ThreadDone.Set(); } } I know SOMEONE out there has to have ran across this before!
Tags (comma-separated)
Save Edits
Cancel