HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 31.01.2010, 18:51
Tigger
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
Провел на форуме:
5386281

Репутация: 1177


Отправить сообщение для Tigger с помощью ICQ
По умолчанию

И так, снова вопрос)
Хочу добавить в программу поток, чтобы разделить саму оболочку от всех выполнимых действий, ну чтобы там лог велся онлайн и т.д...

но я что-то не понимаю как и куда вставлять новый поток. Т.е. в класс, который все выполяет, в кнопку, по нажатию на которую идут все действия. Подскажите, пожалуйста!
 
Ответить с цитированием

  #2  
Старый 31.01.2010, 19:53
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

BackgroundWorker, про это почитай.
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #3  
Старый 31.01.2010, 22:25
Radical Edward
Новичок
Регистрация: 24.01.2010
Сообщений: 21
Провел на форуме:
36432

Репутация: 0
По умолчанию

Столкнулся с такой вот проблеммой. Мне надо программно записать Авторан для всех пользователей. Делаю я вооот ткую штуку :

Код:
RegistryKey RK = Registry.LocalMachine;
            RK = RK.OpenSubKey("SOFTWARE");
            RK = RK.OpenSubKey("Microsoft");
            RK = RK.OpenSubKey("Windows");
            RK = RK.OpenSubKey("CurrentVersion");
            RK = RK.OpenSubKey("Run");
            Registry.CurrentUser.SetValue("Название_ПРОГИ",ПУТЬ_ПРОГИ",RegistryValueKind.String);
            RK.Close();
Однако возникает ошибка при исполнении : UnauthorisedAccessException. Я так понимаю, проблемма вся в правах....что делать?
 
Ответить с цитированием

  #4  
Старый 02.02.2010, 16:01
FEV
Новичок
Регистрация: 23.09.2009
Сообщений: 16
Провел на форуме:
1126888

Репутация: 2
Отправить сообщение для FEV с помощью ICQ
По умолчанию

попробуй OpenSubKey(..., true);
 
Ответить с цитированием

  #5  
Старый 02.02.2010, 17:20
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

ахтунг ну и код =\

private static void IEShowImages(bool show)
{
var ieKey = Registry.CurrentUser.CreateSubKey(@"Software\Micro soft\Internet Explorer\Main");
if (ieKey == null)
{
return;
}
ieKey.SetValue("Display Inline Images", show ? "yes" : "no");
}
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #6  
Старый 03.02.2010, 01:24
Radical Edward
Новичок
Регистрация: 24.01.2010
Сообщений: 21
Провел на форуме:
36432

Репутация: 0
По умолчанию

FEV, спасибо, помогло.Что-то я не заметил этого параметра
W!z@rD, чем тебе код не нравится? имхо, так более читабельно
 
Ответить с цитированием

  #7  
Старый 04.02.2010, 18:12
Tigger
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
Провел на форуме:
5386281

Репутация: 1177


Отправить сообщение для Tigger с помощью ICQ
По умолчанию

Помогите с потокобезопасным кодом, пожалуйста.
Имеется рабочий класс:
public delegate LogDelegate(string text);
public event LogDelegate Log;

И в этом классе часто вызывается этот лог

класс mainForm:
WorkClass.Log += new WorkClass.WriteLogDelegate(_work_class_log);

void _work_class_log(string text)
{
logTextBox.AppendText(text + "\r\n");
}
.

В этом же классе (mainForm) есть код, который выполняется в фоновом потоке. Но если вызывать там же и WorkClass.Log += new WorkClass.WriteLogDelegate(_work_class_log);, то ругается, что в разных потоках, если в любом другом месте, то ругается, что не задана ссылка. Пробовал через Invoke, но не понял какой и как делешат туда писать...
 
Ответить с цитированием

  #8  
Старый 04.02.2010, 18:21
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
Сообщение от Tigger  
Помогите с потокобезопасным кодом, пожалуйста.
Имеется рабочий класс:
public delegate LogDelegate(string text);
public event LogDelegate Log;

И в этом классе часто вызывается этот лог

класс mainForm:
WorkClass.Log += new WorkClass.WriteLogDelegate(_work_class_log);

void _work_class_log(string text)
{
logTextBox.AppendText(text + "\r\n");
}
.

В этом же классе (mainForm) есть код, который выполняется в фоновом потоке. Но если вызывать там же и WorkClass.Log += new WorkClass.WriteLogDelegate(_work_class_log);, то ругается, что в разных потоках, если в любом другом месте, то ругается, что не задана ссылка. Пробовал через Invoke, но не понял какой и как делешат туда писать...
void _work_class_log(string text)
{
if (InvokeRequed)
{
BeginInvoke(new MethodInvoker(() => textBox1.AppendText(text)))
}
else
{
textBox1.AppendText(text)
}
}

Типа того.
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #9  
Старый 05.02.2010, 12:21
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от W!z@rD  
void _work_class_log(string text)
{
if (InvokeRequed)
{
BeginInvoke(new MethodInvoker(() => textBox1.AppendText(text)))
}
else
{
textBox1.AppendText(text)
}
}

Типа того.
Дублирование кода? Нехорошо ...

Код:
delegate void ParametrizedMethodInvoker(string text);

void _work_class_log(string text)
{
if (InvokeRequed)
{
BeginInvoke(new ParametrizedMethodInvoker(_work_class_log), text);
return;
}

textBox1.AppendText(text);
}
 
Ответить с цитированием

  #10  
Старый 04.02.2010, 18:25
[x26]VOLAND
Постоянный
Регистрация: 07.06.2006
Сообщений: 556
Провел на форуме:
7549607

Репутация: 2702


Отправить сообщение для [x26]VOLAND с помощью ICQ Отправить сообщение для [x26]VOLAND с помощью AIM
По умолчанию

> LogDelegate
Говорил же тебе в аське - это полнейшая нелепица...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обсуждение темы. Форум - Faq. Вопросы и Ответы. Егорыч+++ Правила форума 55 16.06.2010 01:07
Форум - Faq. Вопросы и Ответы. Егорыч+++ Правила форума 0 07.06.2008 18:52
Мультимедийные Обучающие Курсы TeachPro Java VenTeL ПО для Web разработчика 8 24.04.2008 15:38



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ