/ / Получаване на директория на програмата при извикване от друго приложение - .net

Получаване на директория на програмата, когато се извиква от друго приложение - .net

Имам програма1 на работния ми плот. Програмата1 трябва да отвори Програма2. Имам програма 2 в Folder1Folder2.

Така че всичко изглежда така:

Програма 1 = Настолен компютър

Програма 2 = Folder1Folder2Program2.exe

Използвам този код в Програма1, за да отворя Програма2:

 Process.Start("Z:Folder1Folder2Program2.exe")

Така че, след като Program2 е отворен, ще намерите пътя на файл, който се съдържа в Folder1, използвайки този код:

 Dim Path As String= System.IO.Directory.GetParent(Environment.CurrentDirectory).ToString()

Така че ще отворим Програма1. Program1 отваря Програма2. Program2 отваря директория с файлове надолу, в Folder1.

Когато изпълнявам директно програмата 2, всичко работи. Въпреки това, когато стартирам Програма1, тя отваря Програма2, която по някаква причина смята, че директорията е тази на Program1.

Някакви идеи?

Отговори:

0 за отговор № 1

С прости думи, Околна среда.CurrentDirectory отразява директорията, в която започва цялата верига от процеси, в този случай работния плот при стартиране на програмата. Когато програмата2 се изпълнява самостоятелно, тя работи коректно, защото там започва процесът.

За да получите винаги директория на Program2, трябва да използвате Assembly.GetExecutingAssembly (). Местоположение от кода в Program2.