public override Task <FocusWindowResponse> FocusWindow(FocusWindowRequest request, ServerCallContext context) { Log.Info("Executing [{Name}] [{ProcessId}]", nameof(FocusWindow), request.ProcessId); var result = NativeMethods.SetForegroundWindow(request.ProcessId); return(Task.FromResult(new FocusWindowResponse() { Success = result })); }
public override Task <SendMediaKeysReply> SendMediaKeys(SendMediaKeysRequest request, ServerCallContext context) { Log.Info("Executing [{Name}] [{MediaKey}]", nameof(SendMediaKeys), request.KeyCode); switch (request.KeyCode) { case SendMediaKeysRequest.Types.MediaKeyCode.NextTrack: NativeMethods.PressMediaKey(NativeMethods.MediaKeyCode.NextTrack); break; case SendMediaKeysRequest.Types.MediaKeyCode.PreviousTrack: NativeMethods.PressMediaKey(NativeMethods.MediaKeyCode.PreviousTrack); break; case SendMediaKeysRequest.Types.MediaKeyCode.PlayPause: NativeMethods.PressMediaKey(NativeMethods.MediaKeyCode.PlayPause); break; default: throw new ArgumentOutOfRangeException(); } return(Task.FromResult(new SendMediaKeysReply())); }
public override Task <LockWorkStationReply> LockWorkStation(LockWorkStationRequest request, ServerCallContext context) { Log.Info("Executing [{Name}]", nameof(LockWorkStation)); NativeMethods.LockWorkStation(); return(Task.FromResult(new LockWorkStationReply())); }
public override Task <SendKeysReply> SendKeys(SendKeysRequest request, ServerCallContext context) { Log.Info("Executing [{Name}] {Message}", nameof(SendKeys), request.Message); NativeMethods.SendKeys(request.Message); return(Task.FromResult(new SendKeysReply())); }