Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
мастер топоров
 Аватар для Koran
917 / 742 / 101
Регистрация: 16.08.2009
Сообщений: 1,476

Запуск внешней программы из кода программы

29.01.2011, 22:15. Показов 1980. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется программа А
вот её код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
 
namespace ThreaddingToFile {
    class MyThread {
        Thread tr;
        string fileName;
        string stroke;
        public int count;
        public int sleeping;
        public MyThread(string fileName, string stroke, int count, int sleeping) {
            this.fileName = fileName;
            this.stroke = stroke;
            this.count = count;
            this.sleeping = sleeping;
            File.Delete(fileName);
            tr = new Thread(this.Writing);
            tr.Start();
            tr.Join();
        }
        private void Writing() { 
            FileStream aFile = new FileStream(fileName, FileMode.OpenOrCreate);
            StreamWriter sw = new StreamWriter(aFile);
            aFile.Seek(0, SeekOrigin.End);
            for (int i = 0; i < count; i++) {
                DateTime dt = DateTime.Now;
                Thread.Sleep(sleeping);
                sw.WriteLine(stroke + dt.Hour + ":" + dt.Minute + ":" + dt.Second + ":" + dt.Millisecond);
            }
            sw.Close();
        } 
        static void Main(string[] args) {
            MyThread mtr1 = new MyThread("log1.txt", "Srtoke #1 ", 10, 1);
            MyThread mtr2 = new MyThread("log2.txt", "Srtoke #2 ", 10, 1);
            MyThread mtr3 = new MyThread("log3.txt", "Srtoke #3 ", 10, 1);
            Console.ReadKey();
       }
    }
}

в итоге после выполнения этого кода должно создаться три текстовые файла
есть программа Б
вот её код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
 
namespace StartProcess {
    class Program {
        static void Main(string[] args) {
            Process newProc = Process.Start(@"d:\Work\C#\Projects\ThreaddingToFile\ThreaddingToFile\bin\Debug\ThreaddingToFile.exe");
            Console.WriteLine("Process is begun");
            newProc.WaitForExit();
            newProc.Close();
            Console.WriteLine("Process was finished");
            Console.ReadKey();
        }
    }
}

она должна запускать программу А, ждать пока она закончит работу и выгружать её.

проблема в следующем - когда запускается программа А с программы Б, то программа А работает некорректно - не создаются три текстовые файла. когда же запускается программа А в ручную из проводника, то всё в порядке. но когда запускается из кода программы, то нет.

с чем может быть связано такое поведение?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.01.2011, 22:15
Ответы с готовыми решениями:

Запуск внешней программы и отлов ошибок ее работы
Я запускаю внешнюю программу. Она вылетает по ошибке. Можно отследить появление ошибки, убить программу и запустить её по новой.

Запуск программы из готового кода
На сайте представлена работа с листингом в конце, нужно запустить программу, не могу понять как, ибо в этом почти не разбираюсь, может кто...

Ввод текста. Закрытие программы. Запуск программы. Введенный ранее текст уже открыт
Здравствуйте. Подскажите, как сделать &quot;Ввод текста. Закрытие программы. Запуск программы. Введенный ранее текст уже открыт.&quot; То...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.01.2011, 22:15
Помогаю со студенческими работами здесь

запуск внешней программы
Все же никак не получается запустить exe-шник, когда программа висит в трее (например в какое-то время по таймеру)! Как сделать правильно...

Запуск командной строки из кода программы
Пишу свою среду разработки программ на Ассемблере. Код из РичТекстБокса сохраняю в текстовый файл с расширением .asm Столкнулся с...

Запуск из программы с админскими привилегиями внешней программы без прав админа
Нужно в программе которая запущенна под амином запустить другую программу без прав админа.

Запуск внешней программы программы из коммнадной строки
Здравствуйте, есть программа D:\user\start.exe Как средствами excel vba вызвать командную строку и запустить программу из коммандной...

Запуск внешней программы в форме программы
Всем привет :) может Вы меня и не поймете, но не пинайте, я только учусь :) Делаю я оболочку для CarPc. И главная затея, сделать или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru