Показать сообщение отдельно
Старый 20.12.2012, 09:25   #1 (permalink)
КИРЯ
Новичок
 
Регистрация: 20.12.2012
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите богатому студенту

Кто нибудь, кто шарит по С# помогите решить 2 задачи :
Первая:
Необходимо изменить показанную на рис.14 программу так, чтобы задавать свойства FileName и Arguments не статически, как это показано в программе, а динамически через диалог пользователя с программой.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Diagnostics;

/*
Обновление свойств компонента Process
1 Создайте экземпляр процесса программно или путем добавления компонента Process к проекту в режиме
разработки. Дополнительные сведения см. в разделе Практическое руководство. Привязка к существующим
процессам.

2 Если перед извлечением сведений о свойствах произошли какие-либо изменения в свойствах процесса,
вызовите метод Refresh.

3 Установите свойства для чтения соответствующих сведений о процессе и назначьте возвращенное значение
для переменной.

В следующем примере показано, как открыть экземпляр блокнота и затем вызвать метод Refresh для
обновления свойств компонента. Затем код считывает обновленное свойство WorkingSet64 компонента,
чтобы возвратить общий объем памяти для связанного процесса. Обновленное значение свойства затем
отображается на экране консоли 6 раз с двухсекундным интервалом. После завершения процедуры консоль
остается открытой пять секунд.
*/

namespace Property
{
class Program
{
static void Main(string[] args)
{
Process notepad;
ProcessStartInfo startinfo = new ProcessStartInfo();
startinfo.FileName = "c:\\laptev\\labC#\\15\\Console1";
startinfo.Arguments = "qwer sdfg ghjkl";
notepad = Process.Start(startinfo);
for (int i = 0; i < 5; i++)
{
// Forces the Process component to get a new set
// of property values.
notepad.Refresh();
// Writes the property value to the console screen.
Console.WriteLine(notepad.WorkingSet64.ToString()) ;
// Waits two seconds before running the next loop.
System.Threading.Thread.Sleep(2000);
}
// Closes Notepad and waits 5 seconds before closing
// the console screen.
notepad.CloseMainWindow();
System.Threading.Thread.Sleep(5000);
}
}
}
Вторая:
Необходимо изменить программу, показанную на рис.11 так, чтобы метод
ThreadMethod() поместить в отдельный класс. И передавать запускаемому потоку числовой параметр через пользовательский конструктор.

/*
В приведенном примере кода демонстрируется использование Join при ожидании завершения потока.
*/
using System;
using System.Threading;

class IsThreadPool
{
static void Main()
{
AutoResetEvent autoEvent = new AutoResetEvent(false);

Thread regularThread =
new Thread(new ThreadStart(ThreadMethod));
regularThread.Start();
ThreadPool.QueueUserWorkItem(new WaitCallback(WorkMethod),
autoEvent);

// Wait for foreground thread to end.
regularThread.Join();

// Wait for background thread to end.
autoEvent.WaitOne();
Console.ReadLine();
}

static void ThreadMethod()
{
Console.WriteLine("ThreadOne, executing ThreadMethod, " +
"is {0}from the thread pool.",
Thread.CurrentThread.IsThreadPoolThread ? "" : "not ");
}

static void WorkMethod(object stateInfo)
{
Console.WriteLine("ThreadTwo, executing WorkMethod, " +
"is {0}from the thread pool.",
Thread.CurrentThread.IsThreadPoolThread ? "" : "not ");

// Signal that this thread is finished.
((AutoResetEvent)stateInfo).Set();
}
}

Сроки поджимают, я не укладываюсь, помогите до завтрешнего дня!Благодарность моя оценивается за 500р.!
КИРЯ вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070