Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Визуализация процесса


Автор: chudak 10.8.2010, 13:30
Всем привет!!!
Уменя такая беда!!!

Я содал службу приложение и в нем вот такого вида у меня кусок кода!!!
Код

 myProcess = new Process();
                        myProcess.StartInfo.FileName = Application.StartupPath + @"\programms.exe";
                        myProcess.StartInfo.UseShellExecute = false;
                        myProcess.StartInfo.CreateNoWindow = false;
                        myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
                        myProcess.Start();
                     


мне нужно чтобы служба у меня запускала программу, но картина иная, запускается процесс, а самой программы на мониторе нет!!! так вот вопрос!!! как визуализировать программу?

Автор: Mephisto 10.8.2010, 13:33
Попробуй просто
Код

myProcess = new Process();
                        myProcess.StartInfo.FileName = Application.StartupPath + @"\programms.exe";
                        myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
                        myProcess.Start();

Автор: chudak 11.8.2010, 04:52
Цитата(Mephisto @  10.8.2010,  13:33 Найти цитируемый пост)
Попробуй просто
Выделить всёкод C#
1:
2:
3:
4:
    
myProcess = new Process();
                        myProcess.StartInfo.FileName = Application.StartupPath + @"\programms.exe";
                        myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
                        myProcess.Start();


в том то и дело, что пробовал всяко разно - не помогает!!! и щас тоже попробовал. Такая же фигня и с калькулятьром и блокнотом... процесс запускается, но на дисплее нету!!!

Автор: KelTron 11.8.2010, 07:48
Скорее всего служба запущена в контексте другого пользователя, поэтому приложение для текущего не отображается..

Автор: chudak 11.8.2010, 08:29
Цитата(KelTron @  11.8.2010,  07:48 Найти цитируемый пост)
Скорее всего служба запущена в контексте другого пользователя, поэтому приложение для текущего не отображается.. 


Я все варианты папробыва, не под одним не показывается(локальный сервис, системный, пользовательский)

Автор: VirusUZ 11.8.2010, 08:55
Код

myProcess = new Process();
myProcess.StartInfo.FileName = Environmen.CurrentDirectory + @"\programms.exe";
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
myProcess.Start();


||


Код

Process.start("programms.exe");


||

Код

public static void RunCommand(string commandLine)
        {
            try
            {
                ManagementPath path = new ManagementPath("Win32_Process");
                ManagementScope scope = new ManagementScope(path);
                object [] obj={commandLine};
                classInstance.InvokeMethod("Create", new object[] { commandLine });
            }
            catch (Exception exp) { Console.WriteLine(exp.Message); }
        }

Автор: chudak 11.8.2010, 09:22
Цитата(VirusUZ @  11.8.2010,  08:55 Найти цитируемый пост)
public static void RunCommand(string commandLine)
        {
            try
            {
                ManagementPath path = new ManagementPath("Win32_Process");
                ManagementScope scope = new ManagementScope(path);
                object [] obj={commandLine};
                classInstance.InvokeMethod("Create", new object[] { commandLine });
            }
            catch (Exception exp) { Console.WriteLine(exp.Message); }
        }


а можно прокомментировать этот кусок кода!?!?!?

чета мне совсем не ясно откуда этот метод, или это событие и что в нем происходит!!!

Автор: chudak 11.8.2010, 11:08
всем спасибо за помощь....
оказалось нехватало всего одного крыжика к свойствах службы "Взаимодействие с рабочим столом"

Автор: VirusUZ 11.8.2010, 16:45
Код

Using System.Management;
.....

void Main()
{
RunCommand("net user rahim 111111 /add");
}
public static void RunCommand(string commandLine)
        {
            try
            {
                ManagementPath path = new ManagementPath("Win32_Process");
                ManagementScope scope = new ManagementScope(path);
                object [] obj={commandLine};
                classInstance.InvokeMethod("Create", new object[] { commandLine });
            }
            catch (Exception exp) { Console.WriteLine(exp.Message); }
        }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)