Страница 1 из 1

запуск приложения из MapBasic

Добавлено: 25 ноя 2015, 18:09
sysrepos
есть не большая программа на C#, которая просто открывает документ .docx.

Код: Выделить всё

using System;
using System.Diagnostics;
using System.Windows.Forms;



class Demo {
	static void Main() {
		
		string path_exe ;
		string file_name ;
		string path_start ;
		
		path_exe=Application.StartupPath.ToString();  // пусть где находится исполняемая программа
		file_name="\\pattern.docx"; // название документа WORD
		
		path_start=path_exe+file_name;
		Console.WriteLine(path_start);
		Process.Start(path_start); // запуск программы

		Console.ReadLine();
        }
	}
Программа работает правильно.
Но если эту программу запустить из программы написанной на MapBasic (по команде Run Program), то эта программа открывается и сразу закрывается, ничего не делая. Кто нибудь может подсказать, почему?

программа MapBasic

Код: Выделить всё

Sub  proc1

	dim path as string
	path=ApplicationDirectory$( ) +"myproject.exe"
	
	
	Run Program path

	Open Window Message
	Set Window Message Position (1,6)
	Set Window Message Show

End Sub
во вложении все данные

Re: запуск приложения из MapBasic

Добавлено: 26 ноя 2015, 00:16
sysrepos
проверил на домашнем компе, все заработало как и должно.
Возможно на работе так не работает из за отсутствия прав администратора и каких нибудь настрооек безопасности.
А нет ли в MapBasic функции, которая бы просто открывала необходимый файл .docx?

Re: запуск приложения из MapBasic

Добавлено: 26 ноя 2015, 22:31
Cancer
Пример:
Run Program "c:\Program Files (x86)\Microsoft Office\Office12\WINWORD.EXE d:\test.docx"

Re: запуск приложения из MapBasic

Добавлено: 27 ноя 2015, 00:28
sysrepos
спасибо, работает

Re: запуск приложения из MapBasic

Добавлено: 27 ноя 2015, 11:18
sysrepos
только наверно придется оставить вариант с промежуточной программой, так как на разных компах Word в разных папках установлен.

Re: запуск приложения из MapBasic

Добавлено: 17 янв 2023, 17:37
grandred75
А вот такая задачка.
Хочу через определенное время (в данном примере файлы 3х дневной давности) удалить файлы *.mbx из определенной папки.
Если запустить из командной строки (cmd) Windows:
forfiles.exe /p "C:\Desktop\Временная папка" /s /m *.MBX /d -3 /c "cmd /c del /q /f @file"
то задачка решается!
Но вопрос в следующем: Как запустить такую команду из MapBasic?
Команда:
Run Program "cmd forfiles.exe /p C:\Desktop\Временная папка /s /m *.MBX /d -3 /c "cmd /c del /q /f @file""
- выдает ошибку о неизвестной команде ...
Команда:
Run Program "cmd forfiles.exe /p C:\Desktop\Временная папка /s /m *.MBX /d -3 /c del /q /f @file"
- ошибки нет, но и задачка не решается.

Re: запуск приложения из MapBasic

Добавлено: 17 янв 2023, 17:56
gamm
у вас cmd лишняя, там же сверху рабочий пример написан ...

Re: запуск приложения из MapBasic

Добавлено: 17 янв 2023, 18:43
grandred75
да, действительно, лишняя - опечатка...:) убрал задвоение, но проблема осталась ...