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

Мигание окна при срабатывании SoundAlerta [idea]

Добавлено: Чт дек 28, 2006 7:31 pm
Gennadi
Допустим запущенно 10 ботов, в одном из них срабатывает СаундАлерт, нужно что б это окно либо мигало в трее, либо делалось активным. Как думаете можно соорудить такое?

Добавлено: Чт дек 28, 2006 8:44 pm
piroJOKE
Ха, интересная мысль. Падумаем...... ;)

Добавлено: Пт дек 29, 2006 8:27 am
Gennadi
piroJOKE писал(а):Ха, интересная мысль. Падумаем...... ;)
Угу, а то пока найдешь, уже забанить могут. У меня раньше была написана прога, она анализировала логи, в этой проге были лампочки, и пути прописаны, где срабатывал чат, та лампочка и загоралась. А тут уже внедряться надо :))))))

Добавлено: Пт дек 29, 2006 8:07 pm
DInvalid
можно попробовать так:

В Interface.pm
Между ф-ями sub iterate и sub getInput добваляем
# void $interface->attention()
#
sub attention {
# Do nothing; this is a dummy parent class
}
:

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

##
# void $interface->iterate()
#
# Process messages in the user interface message queue.
# In other words: make sure the user interface updates itself
# (redraw controls when necessary, etc.).
sub iterate {
	# Do nothing; this is a dummy parent class
}

# void $interface->attention()
#
sub attention {
	# Do nothing; this is a dummy parent class
}



##
# String $interface->getInput(float timeout)
# timeout: Number of second to wait until keyboard data is available. 
#          Negative numbers will wait forever, 0 will not wait at all.
# Returns: The keyboard data (excluding newline), or undef if there's no
#          keyboard data available.
#
# Reads keyboard data.
sub getInput {
	# Do nothing; this is a dummy parent class
}
В \Interface\Wx.pm
добавляем

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

sub attention {

#### wxTopLevelWindow::RequestUserAttention

	my $self = shift;
	$self->{frame}->RequestUserAttention();
}

В алетрсоунд plugins\alertsound.pl

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

		Utils::Win32::playSound($config{"alertSound_".$i."_play"});
###добавляем
		$interface->attention;

Добавлено: Сб дек 30, 2006 8:07 am
Gennadi
DInvalid писал(а):можно попробовать так:
У меня не работает. Пробовал на консоли. Теоретически должно мигать?

Добавлено: Сб дек 30, 2006 9:54 am
ravenclaw_
А что если не геморроиться, и поставить на алерт саунды такие: первому боту - пищит "один", второму - "два" и т.п. :)
Дешево и сердито :)

Добавлено: Сб дек 30, 2006 10:01 am
Gennadi
ravenclaw_ писал(а):А что если не геморроиться, и поставить на алерт саунды такие: первому боту - пищит "один", второму - "два" и т.п. :)
Дешево и сердито :)
1) геморно 2) если боты с именами бот1, бот2, бот3 - да, можно, но палевно :)

Добавлено: Сб дек 30, 2006 2:23 pm
DInvalid
Gennadi писал(а):
DInvalid писал(а):можно попробовать так:
У меня не работает. Пробовал на консоли. Теоретически должно мигать?
Нет. Только для интерфеса WX.

Добавлено: Вс май 27, 2007 10:03 pm
lirikpl
моргнет 3 раза и все.прикольно ...но как увеличить колличество этих морганий???

Добавлено: Вс май 27, 2007 10:31 pm
Врангель
Можно попробовать использовать контролирующий процесс и семафоры. Каждый процесс устанавливает свои семафоры, а контролирующий раз в секунду сканит их, и если находит чтото важное выполняет код, скажем активизирует окно приложения или выводит информацию диалоговым окном.

Гдето на перле был даже модуль упрощающий работу с семафорами, только вот не проверял работают ли они на винде...

Добавлено: Сб фев 02, 2008 3:11 am
vit
viewtopic.php?t=4454
Вот ссылка на тему с плагином.