Форум: "Прочее";
Текущий архив: 2012.06.03;
Скачать: [xml.tar.bz2];
ВнизНе работает Beep. Не всегда. Закономерности не вижу. Найти похожие ветки
← →
AV © (2012-02-03 09:29) [0]простой код
procedure TFormAN.WM_FFN(var Message: TMessage);
begin
Application.MainForm.BringToFront;
FlashWindow(Application.MainForm.Handle,true);
Beep;
Sleep(300);
Beep;
OC.CloseOrder;
end;
призван сообщить о некотором событии
программка моя, висит постоянно на моей машине, что бы мне оперативнее отреагировать - проследить как выполнится OC.CloseOrder;
OC.CloseOrder выполняется - вижу по логу, но иногда не бибикает
Так вот она то бибикает, то не бибикает.
Отчего такое поведение? Почему может не бибкать?
← →
AV © (2012-02-03 09:36) [1]уточнение - если перестало бибикать, то начинает обычно только после перезагрузки
← →
И. Павел © (2012-02-03 09:54) [2]> [0] AV © (03.02.12 09:29)
Посмотрите в момент следующего отключения — не отключен ли динамик (диспетчер устройств —> системные устройктва —> встроенный динамик)
> то начинает обычно только после перезагрузки
Программы или системы?
← →
AV © (2012-02-03 10:37) [3]
> Программы или системы?
Системы.
Комп перезагружать надо, короче.
Пуск, Завершение работы, Перезагрузка.
Встроенный динамик - ОК, Конфликты не обнаружены.
← →
AV © (2012-02-03 10:41) [4]Нашел на одном форуме, что надо ввести команду
wmic.exe sysdriver where name="beep" get name, state
вывод:
Name State
Beep Running
т.е. работает драйвер, насколько понимаю
← →
AV © (2012-02-03 10:45) [5]так
Beep;
Sleep(300);
MessageBeep(5000);
тоже тихо
← →
Псарь (2012-02-03 14:31) [6]Пиши свой beep через waveOutWrite.
← →
AV © (2012-02-03 14:49) [7]
> Псарь (03.02.12 14:31) [6]
через колонки/наушники?
На работе это не приветствуется.
попробовал проследить
все чего-то делают-делают, несущественное, и вызывают что-то глубже..
добрел до ntdll.KiFastSystemCall
после этого идет в обратном порядке, до самой моей программы.
Кто из них, собственно, пищать собирается - непонятно.
ntdll.KiFastSystemCall
7C90E510 8BD4 mov edx,esp
7C90E512 0F34 sysenter
7C90E514 C3 ret
тут
http://opcode0x90.wordpress.com/2007/05/18/kifastsystemcall-hook/
пишут
> Each version of Windows have different syscall mechanism.
> For Windows 2000 and older, the syscall mechanism is as
> shown below.
>
> MOV EAX, SyscallNumber ; requested syscall number
> LEA EDX, [ESP+4] ; EDX = params...
> INT 2Eh ; throw the execution to the KM handler
> RET 4*NUMBER_OF_PARAMS ; return
>
> Each syscall number is moved into EAX and invoked through
> INT 2Eh. In Windows XP and later, the syscall mechanism
> had changed.
>
> MOV EAX, 101h ; syscall number: NtTerminateProcess
> MOV EDX, 7FFE0300h ; EDX = 7FFE0300h
> CALL EDX ; call 7FFE0300h
> RETN 8
>
> Notice the difference. Instead of INT 2Eh, now it is replaced
> by CALL EDX which leads us to ntdll.KiFastSystemCall, a
> tiny stub containing the SYSENTER instruction.
>
> MOV EDX, ESP
> SYSENTER
> RETN
>
> This is where KiFastSystemCall hook came in. We can install
> hook on the stub to catch all syscalls made by the process,
> including undocumented NtUser*, NtGdi* syscalls.
т.е. получается в заглушку уперся?
← →
AV © (2012-02-03 14:52) [8]или просто дальше отладчик не пустил?
(или ставлю не правильный вопрос?)
← →
AV © (2012-02-03 15:05) [9]Крис Касперски объяснил так
> Задумаемся, – а куда SYSENTER передает управление? Ведь
> целевой адрес нигде явным образом не указан. Курим мануал
> от Intel и выясняем, что SYSENTER принимает три скрытых
> аргумента, передаваемые через MSR-регистры.
>
> SYSENTER_CS_MSR (174h):
>
> CS регистр для перехода на уровень нулевого кольца;
>
> SYSENTER_ESP_MSR (175h):
>
> ESP регистр для перехода на уровень нулевого кольца;
>
> SYSENTER_EIP_MSR (176h):
>
> EIP регистр для перехода на уровень нулевого кольца;
>
> Селектор стека (регистр SS) получается путем сложения константы
> 08h со значением MSR-регистра SYSENTER_CS_MSR, так что SYENTER
> позволяет задавать не только CS:EIP, но и SS:ESP.
а да ну-ка его...
не бибикает и не бибикает :)
← →
SergeyIT © (2012-02-03 15:19) [10]Забавный диалог в списке тем
Павел, AV, AV, AV, Псарь, AV, AV, AV
← →
icelex © (2012-02-03 16:04) [11]
> SergeyIT © (03.02.12 15:19) [10]
> Забавный диалог в списке тем
> Павел, AV, AV, AV, Псарь, AV, AV, AV
не говоря о том, что веер не работает...
← →
Димка На (2012-02-03 18:31) [12]Так спикером попробуй бикать указывая частоту и время задержки у beep
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2012.06.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c