![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Если я запускаю программу из под Виндоус, то она работает правильно. Но я в реестре в Shell указал адрес своей программы (по дефолту Shell=explorer.exe). Теперь при загрузке сразу грузится только моя программа. Все окей, но не ловится событие msgShowEvent. Почему?
|
|
#2
|
||||
|
||||
|
Где в реестре записал? дай этот кусок кода пожалуйста
![]() |
|
#3
|
|||
|
|||
|
Цитата:
В реестре \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon и параметру Shell присвоил значение c:\MyProgram.exe Кусок кода Код:
procedure TFormMain.MsgEvent(Sender: TObject; WP, LP: Integer);
var
Event, PMUnit: Integer;
ID, Cnt: Integer;
S: string;
begin
Event := (WP shr 4) and $000F;
PMUnit := WP and $000F;
case Event of
// STATUS OF PAYMENT UNIT
msgStatus:
begin
case PMUnit of
msgDevPaymentManagerDLL:
ShowEvent(Format('PaymentManager Status: %d', [LP]));
msgDevCoinChangerValidator:
begin
case LP of
msgStatusFound:
begin
ShowEvent('Coin validator connected');
end;
// Accepted cash item routed to
$00000010..$0000001F:
begin
case (WP and $0F) of
1:
begin
showmessage('WP');
if (LP) = $10 then
begin
ShowEvent('Coin routed to box');
ShowMessage('Coin routed to box');
end
else
begin
ShowMessage('Coin routed to cassette');
end;
end;
end;
end;Если приложение запускать из под Виндоус, то сообщение показывается ShowMessage('Coin routed to box'); А если запускать при старте компьютера, то не показывается... |
|
#4
|
|||
|
|||
|
Есть какие-нибудь соображения?
|
|
#5
|
|||
|
|||
|
ох что-то мне ветка реестра сильно напоминает, WinLocker, не? или это какая-то платёжная система терминальная....
|
|
#6
|
|||
|
|||
|
Цитата:
А вы, голубчик, компьютерный Холмс : ) Можешь чем подсоветовать? |
|
#7
|
||||
|
||||
|
Ну поскольку собственно вывод сообщения зависит напрямую от значения передаваемого в WP, то логично предположить, что проблема не в обработчике события а несколько ранее. Смотрите, что у вас передается в WP в первом и втором вариантах.
|
|
#8
|
|||
|
|||
|
Вот что показали эксперименты. Программа корректно работает только в том случае, если я ее загружаю через диспетчер задач (TaskManager) или, если из диспетчера задач загрузить Explorer.exe, а потом уже ручками программу.
Подскажите как можно программно запустить мое приложение через диспетчер задач? |
|
#9
|
|||
|
|||
|
что такое msgShowEvent?
|
|
#10
|
|||
|
|||
|
Если запускаю из программы ярлык MyProgram.lnk, то программа работает корректно. Почему?
|