Windows Mobile 기기의 전원 끄기 버튼을 누를 때 알림을받을 수있는 쉬운 방법이 있습니까? 물론 C# 사용.Windows Mobile - 전원 끄기 버튼을 눌렀을 때 감지하기
감사합니다.
Windows Mobile 기기의 전원 끄기 버튼을 누를 때 알림을받을 수있는 쉬운 방법이 있습니까? 물론 C# 사용.Windows Mobile - 전원 끄기 버튼을 눌렀을 때 감지하기
감사합니다.
전원 버튼을 누르면 전원 관리자가 상태 변경 알림을 발송합니다. 귀하는 오후에 RequestPowerNotifications으로 전화하여 통지를 보내달라고 요청할 수 있습니다. 통지를받을 point-to-point messgae queue (관리되는 버전 here)의 핸들을 보내야합니다.
이 작품을 만들기 위해 모든 글씨체를 쓰고 싶지 않은 tho의 경우,이 모든 것은 이미 자발적으로 자위대의 PowerManagement class에 미리 설정되어 있습니다. 또한
는 알림이 은 상태 변화가 발생하기 전에 앱에서 알림을받을 것이라는 점을 의미하지 않는 요청 단지를 변경할 수 없기 미리 양해. 예를 들어, 앱이 알림을 보지 못한다는 것은 매우 일반적인 일이며, 실제로 앱이 알림을 보지 못하더라도 실제로 일시 중지되기 전에는 아무 것도 실행할 시간이 없습니다. 일반적으로 처리기는 장치가 다시 시작될 때 실행되고 그 다음에 다시 시작 상태의 처리기가 실행됩니다.전력 관리자가 기다리지 않고 단순히 메시지를 브로드 캐스트합니다. 종료 전에이 코드를 사용하여 실행할 수는 없습니다.
불행히도 Windows CE 6 장치에서 CreateMsgQueue가 CoreDll에 존재하지 않습니다. 다른 제안?
내가 생각할 수있는 유일한 점은 지속적으로 장치의 실시간 클럭에 대해 Environment.TickCount를 확인하는 것입니다. 시간이 앞으로 움직 였지만 틱 수가 아니라면 아마도 장치가 잠자고 있었을 것입니다. 시간이 점프 경우 인해 장치의 실시간 시계의 고장으로 속임수를 얻을 것이기 때문에이 솔루션 같은
망가
도움. 16 진수 편집기와 XDA 포럼의 몇 가지 도구를 사용해야합니다.
<DllImport("coredll.dll", SetLastError:=True)> _
Public Shared Function CreateMsgQueue(ByVal lpszName As String, ByVal lpOptions As MsgQueueOptions) As IntPtr
End Function
는 그냥 이벤트를 전원을 차단하기위한 간단한 드라이버를 작성해야합니다, 당신의 드라이버는 파워 다운 장치 이벤트에 과정을 힘을 아래로 잡아 허용된다. 그런 식으로 플래그를 설정하고 백그라운드 실행 프로세스를 중지하고 모든 변수를 저장 한 다음 PowerEp 이벤트로 복원 할 수있는 보장 된 이벤트를 얻을 수 있습니다.이 이벤트는 winCE 장치 드라이버의 표준 evC++ 이벤트이기도합니다. 아주 간단합니다. 이것을 위해 인터넷에 데모 소스 코드가 100 개 있습니다. 사이트의 100 개에서 보았습니다.
Dupe : http://stackoverflow.com/questions/2331343/detect-and-prevent-delay-windows-mobile-power-off –
나는 이것을 속임수라고 부르지 않을 것이다. 그는 통보를 받고 싶어하지만 그것을 막을 수는 없습니다. – ctacke
필자는 필자의 좌절감을 극복해야한다. 현재 Windows Mobile SDK의 상태는 애처 롭다. 백그라운드 활동을 시작하고 끌 수있는 방법이 없습니다. 사용자가 PowerOff 버튼을 눌러도 계속 실행됩니다. 반면에 사용자의 설득을 위해 백그라운드 활동을 중지하고 실행할 수있는 코드는 실행될 수 없습니다. 멋지다. 그냥 놀랍다 ... – kape123