Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.07.2016, 12:07
MaxP вне форума Посмотреть профиль Отправить личное сообщение для MaxP Найти все сообщения от MaxP
  № 11  
Ответить с цитированием
MaxP

Регистрация: Apr 2012
Сообщений: 14
При компиляции ошибок нет. Но с двойными слэшами тоже не работает.

Код AS3:
import flash.utils.*;
import flash.events.*;
import flash.desktop.*;
import flash.display.*;
import flash.filesystem.*;
 
if(NativeProcess.isSupported){
 
	var process:NativeProcess = new NativeProcess();
	var info:NativeProcessStartupInfo = new NativeProcessStartupInfo();
	var processArg:Vector.<String> = new Vector.<String>();
 
	processArg.push("md", "C:\Users\user\Desktop\test_cmd");
	info.executable = new File("C:/Windows/System32/cmd.exe");
	info.arguments = processArg;
	process.start(info);
 
	process.addEventListener("standardOutputData", onOutput);
	process.addEventListener("standardErrorData", onError);
	function onOutput(event:ProgressEvent):void{
		var process:NativeProcess = event.target as NativeProcess;
		var data:String = process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable);
		trace(data)
	}
	function onError(event:ProgressEvent):void{
		var process:NativeProcess = event.target as NativeProcess;
		var data:String = process.standardError.readUTFBytes(process.standardError.bytesAvailable);
		trace(data);
	}
 
}else{
    trace('Add <supportedProfiles>extendedDesktop</supportedProfiles> first!');
}
Запустил air-приложения с правами админа. Тоже не работает.

Старый 29.07.2016, 13:11
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 12  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
собрал тестовый проект
папку создает через батник без проблем
флешдевелоп, вин10х64
кстати параметры еще можно передавать создавая временный батник и вызывая его из первого
Код AS3:
processArg.push("/c"); 
processArg.push("t.bat"); // md Directory
info.executable = File.applicationDirectory.resolvePath("cmd.exe");
info.arguments = processArg;
info.workingDirectory = File.applicationDirectory;
process.start(info);
на всякий случай выставлял админские права adl.exe

Старый 29.07.2016, 16:31
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 13  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Код AS3:
package 
{
	import flash.desktop.NativeProcess;
	import flash.desktop.NativeProcessStartupInfo;
	import flash.display.Sprite;
	import flash.filesystem.File;
	import flash.events.*;
	/**
	 * ...
	 * @author 
	 */
	public class Main extends Sprite 
	{
 
		public function Main():void 
		{
			if(NativeProcess.isSupported){
 
				var info:NativeProcessStartupInfo = new NativeProcessStartupInfo();
					info.executable = new File("C:/Windows/System32/cmd.exe");
 
				var processArg:Vector.<String> = new Vector.<String>();
					processArg.push("/c");
					processArg.push("md");
					processArg.push("d:\\temp\\cmdtest");
					info.arguments = processArg;
 
				var process:NativeProcess = new NativeProcess();
					process.addEventListener("standardOutputData", onOutput);
					process.addEventListener("standardErrorData", onError);
					process.start(info);
 
			}else{
				trace('Add <supportedProfiles>extendedDesktop</supportedProfiles> first!');
			}
		}
		public function onOutput(event:ProgressEvent):void{
			var process:NativeProcess = event.target as NativeProcess;
			var data:String = process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable);
			trace("out:" + data);
		}
		public function onError(event:ProgressEvent):void{
			var process:NativeProcess = event.target as NativeProcess;
			var data:String = process.standardError.readUTFBytes(process.standardError.bytesAvailable);
			trace("err:" + data);
		}
	}
 
}
и еще раз - умвр.
как положено в onError трейсится ошибка, если что-то не так (правда кракозябрами). В т.ч. и в случае, если путь в исходнике записан без двойных слэшей - ошибка.
С двойными слэшами - тишина и папка создается по месту назначения.

Попробуй с echo:
Код AS3:
var processArg:Vector.<String> = new Vector.<String>();
processArg.push("/c");
processArg.push("echo");
processArg.push("cmdtest");
info.arguments = processArg;
будет трейсы в onOutput кидать? у меня кидает.

Старый 01.08.2016, 19:10
MaxP вне форума Посмотреть профиль Отправить личное сообщение для MaxP Найти все сообщения от MaxP
  № 14  
Ответить с цитированием
MaxP

Регистрация: Apr 2012
Сообщений: 14
Сработало! Просто не хотел писать на диск C... хз почему. Куда угодно еще пишет, а на Ц - нет

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:34.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.