Как обнаружить пользовательское действие с сервисом Java, работающим на Windows?

Разместите оповещение после блока if else, ваше оповещение будет перед блоком if else, поэтому всегда выдает ложное значение

$(".add_initep_row").click(function(){           
        var markup = "<td style='width: 122px;'><div class='input-group'><input type='text' class='form-control textmodify_newSchedule datepicker_recurring_start' id='ep_date' ><span class='input-group-addon datepicker_recurring_start_calender'><span class='glyphicon glyphicon-calendar'></span></span></div></td><td><textarea></textarea></td><td><input type='hidden'  class='ep_cmpl_val' value='False'><input type='checkbox' class='cmpl_checkbox' onclick='myfunction()'></td>";
        $('#init_ep_table tbody') // select table tbody
        .prepend('<tr />') // prepend table row
        .children('tr:first') // select row we just created
        .append(markup) // append four table cells to the row we created
        /*$("table tbody").append(markup);*/
    });


function myfunction()
	{
		
		var input = $('.cmpl_checkbox').prev('.ep_cmpl_val').val();
		
		if (input == 'False') 
	    {
	    	$('.cmpl_checkbox').prev('.ep_cmpl_val').val('True');
        
	    }
	    else
	    {
	    	$('.cmpl_checkbox').prev('.ep_cmpl_val').val('False');
          
	    }
      alert(input);
	}
  
  $(document).ready(function(){
		 $('.cmpl_checkbox').click(function() {
		 	var input = this.previousSibling.value;
      //alert(input);
		 	if (input == 'False') 
		    {
		    	this.previousSibling.value='True';
		    }
		    else
		    {
		    	this.previousSibling.value='False';
		    }
		  });
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="init_ep_table">
  <tr>
					<td>
						<div class="input-group">
		                    <input type="text" class="form-control textmodify_newSchedule datepicker_recurring_start" > 
		                    <span class="input-group-addon ep_date4_calender datepicker_recurring_start_calender"><span class="glyphicon glyphicon-calendar"></span></span>
		                </div>
		            </td>
		            <td>
		            	<textarea></textarea>
		            </td>
		            <td>
		            	<input type="hidden" value="False"><input type="checkbox" class="cmpl_checkbox">
		            </td>
				</tr>
</table>
<input type="button" class="add_initep_row" value="Add Row">
[115 ]
6
задан Stephen Martin 23 March 2009 в 17:38
поделиться

4 ответа

Вы не можете контролировать пользовательское действие непосредственно от сервиса. Услуга будет работать в другой станции окна от пользовательских операций и так не будет иметь никакого способа сцепиться в то действие (кроме через драйверы фильтра, которые должны были бы быть записаны в C).

Таким образом, Вам будет нужно клиентское приложение, которое работает в рабочем столе пользователя и рычагах в клавиатуру и действие мыши. Вы сделали бы это через два вызова к Windows API SetWindowsHookEx (для низкоуровневых рычагов клавиатуры и мыши) использование JNI. Для контроля действия, приложение должно было бы затем обработать рычаги клавиатуры и мыши для сообщений.

Вы могли запустить приложение как автоматический запуск путем добавления записи в ключ Выполнения реестра, или Вы могли иметь свой монитор служб для журнала сеанса на событиях и запустить приложение от него. Затем приложение сеанса пользователя могло или обработать саму информацию или передать ее службе через канал или сокет.

2
ответ дан 17 December 2019 в 07:09
поделиться

Что точно Вы подразумеваете 'под пользовательским действием'? Необходимо определить тот термин точно сначала, чтобы даже начать думать о решении, тем более, что Вы говорите, что "нажатая клавиша, используемое приложение, и т.д." не является операциями.

1
ответ дан 17 December 2019 в 07:09
поделиться

Это непосредственно не поддерживается платформой Java

Было бы намного легче при исследовании альтернативы.NET.

Поиск глобального пользователя Получения вводится в .NET

0
ответ дан 17 December 2019 в 07:09
поделиться

Вы можете попробовать это SWT Win32 Extension . Он позволяет устанавливать хуки для клавиатуры и мыши из java в Windows.

1
ответ дан 17 December 2019 в 07:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: