প্রক্রিয়া শুরু করার পূর্বে সেট করতে প্রসেসস্টার্টআইএনফো . ওয়ার্কিং ডিরেক্টরী সম্পত্তিটি ব্যবহার করুন । যদি সম্পত্তি সেট না করা থাকে তবে ডিফল্ট ওয়ার্কিং ডিরেক্টরিটি% SYSTEMROOT% \ system32 32
আপনি ব্যবহার করে% SYSTEMROOT% এর মান নির্ধারণ করতে পারেন:
string _systemRoot = Environment.GetEnvironmentVariable("SYSTEMROOT");
এখানে কিছু নমুনা কোড রয়েছে যা% প্রোগ্রামফায়ালস% এর কার্যকরী ডিরেক্টরি সহ নোটপ্যাড.এক্সেপ খুলবে:
...
using System.Diagnostics;
...
ProcessStartInfo _processStartInfo = new ProcessStartInfo();
_processStartInfo.WorkingDirectory = @"%ProgramFiles%";
_processStartInfo.FileName = @"Notepad.exe";
_processStartInfo.Arguments = "test.txt";
_processStartInfo.CreateNoWindow = true;
Process myProcess = Process.Start(_processStartInfo);
এমন একটি পরিবেশ পরিবর্তনশীলও রয়েছে যা আপনার প্রক্রিয়াটির জন্য বর্তমান চলমান ডিরেক্টরিকে নিয়ন্ত্রণ করে যা আপনি সরাসরি পরিবেশের.কমেন্টের ডিরেক্টরী সম্পত্তি দ্বারা অ্যাক্সেস করতে পারেন ।
WorkingDirectoryএকটি আপেক্ষিক পথ হবে, এবং যদি তাই হয়, তা আপেক্ষিক, বর্তমান ফাইল বা বর্তমান এক্সিকিউটেবল নির্দেশিকা হল? আমি যে প্রোগ্রামটি শুরু করার চেষ্টা করছি তা কার্যকর করতে আমার প্রোগ্রাম পেতে আমার সমস্যা হচ্ছে। আমি কর্মের ডিরেক্টরিটি এক্সের ডিরেক্টরিতে (বর্তমান ফাইলের সাথে এবং বর্তমান এক্সির সাথে সম্পর্কিত) সেট করে রেখেছি তবে এটি এটি খুঁজে পাচ্ছে না।