C#에서 타사 프레임 워크를 사용하는 내 응용 프로그램이 많은 application.my 질문에 대한 UI로 작동합니다. 응용 프로그램이 실행 중이고 시스템이 대기 모드/하이버네이션 OS 작업을 수행하지 않아야합니다. 어쨌든 나는 대기/hybernate에 대한 이벤트를 취소해야합니다 OS.please 제기에 관해서는 하나의 도움이 내 안부. 일이대기 모드 및 최대 절전 모드를 취소하는 방법은 무엇입니까?
답변
.NET 내에서 이벤트를 취소 할 수있는 방법은 없습니다
감사합니다. WM_POWERBROADCAST
을 처리하고 BROADCAST_QUERY_DENY
을 반환하면 P/Invoke 및 Win32 API로 처리해야합니다. 올바른 방향으로 밀기 위해 this CodeGuru page을 살펴보십시오.
this page 또한 사용자가 로그 오프하거나 일시 중단/최대 절전 모드로 전환 할 때 .NET에서 발생하는 일부 이벤트에 대해 자세히 설명합니다.
안녕 나는 LC 사용자 follwing을 코드 보호 오버라이드 공극의 WndProc (REF System.Windows.Forms.Message의 m) .... m.Result 새를 IntPtr = ((int)를 WindowMessage.BROADCAST_QUERY_DENY); .... 반환 내가 (C#을 창입니다 창 차 내 애플 리케이션에) 기본 창 내 데이터가이 application.i 백엔드에서 가져온 사용하여 생성을 보조 창에 코드를 사용하는 경우가 작동 창문 부분에이 방법을 사용합니다. 'wndproc'메서드가 alllowed되지 않은 파일에서 사용해야합니다. 어떤 생각이든 감사합니다. 일요일 –
100 % 기본 및 보조 창을 따라갈 수 있을지 모르겠지만 "창"(Windows.Forms.Form)에는 메시지 루프가 있으므로 WndProc 콜백이 있어야합니다. Application.Run()이있는 양식에 코드를 넣으십시오. 그 밖의 모든 방법은 실패합니다. 거기에 앉아서이 메시지를 수신하는 숨겨진 양식을 만들 수 있습니다. –
안녕하십니까 ur 답장을 보내 주셔서 감사합니다 나는 그 프레임을 프레임 워크 내에서 그려지기 때문에 프레임이 프레임 워크에서 처음으로 시작된다는 것을 의미합니다. 프레임 워크는 메뉴를 가지고 있으며 응용 프로그램 이름을 포함합니다 paricular menu 해당 응용 프로그램은 창을 그리기 위해 데이터를 보냅니다. 창을 그리는 데 필요한 모든 정보가 창을 그립니다. 창 작업을 시작하고 세부 사항을 파싱하고 창을 그립니다. 뼈대. –
이 blog post은 SetThreadExecutionState을 사용하여 PC가 절전 모드로 들어가는 것을 방지하는 방법을 설명합니다. 코드는 다음과 같습니다
public partial class Window1 : Window
{
private uint m_previousExecutionState;
public Window1()
{
InitializeComponent();
// Set new state to prevent system sleep (note: still allows screen saver)
m_previousExecutionState = NativeMethods.SetThreadExecutionState(
NativeMethods.ES_CONTINUOUS | NativeMethods.ES_SYSTEM_REQUIRED);
if (0 == m_previousExecutionState)
{
MessageBox.Show("Call to SetThreadExecutionState failed unexpectedly.",
Title, MessageBoxButton.OK, MessageBoxImage.Error);
// No way to recover; fail gracefully
Close();
}
}
protected override void OnClosed(System.EventArgs e)
{
base.OnClosed(e);
// Restore previous state
if (0 == NativeMethods.SetThreadExecutionState(m_previousExecutionState))
{
// No way to recover; already exiting
}
}
}
internal static class NativeMethods
{
// Import SetThreadExecutionState Win32 API and necessary flags
[DllImport("kernel32.dll")]
public static extern uint SetThreadExecutionState(uint esFlags);
public const uint ES_CONTINUOUS = 0x80000000;
public const uint ES_SYSTEM_REQUIRED = 0x00000001;
}
당신이 게시물에 설명 된 응용 프로그램을 좋아하는 경우, 업데이트 된 버전 here있다.
- 1. .NET Windows 서비스에서 시스템 대기/절전/최대 절전 모드를 감지합니까?
- 2. 최대 절전 모드 쿼리를 취소하는 방법
- 3. 최대 절전 모드를 사용할 때 GWT와 최대 절전 모드 - NoClassDefFoundError
- 4. time.sleep and suspend (예 : 대기 및 최대 절전 모드)
- 5. 최대 절전 모드 목록
- 6. 최대 절전 모드 및 잠금
- 7. 최대 절전 모드 : 식별자
- 8. 최대 절전 모드 세션
- 9. 최대 절전 모드 및 직렬화
- 10. 저장 및 최대 절전 모드
- 11. 최대 절전 모드, 온라인 데이터베이스 및 업데이트
- 12. 최대 절전 모드 = 열이
- 13. 최대 절전 모드
- 14. 최대 절전 모드 엔티티를 외부화하는 방법은 무엇입니까?
- 15. 복수의 최대 절전 모드
- 16. 최대 절전 모드 다형성
- 17. netbeans에서 최대 절전 모드 프레임 워크 업데이트
- 18. 최대 절전 모드 개체 저장
- 19. 최대 절전 모드 로깅
- 20. 최대 절전 모드 지속성
- 21. 매핑 바이트 [] 최대 절전 모드 및 덩어리
- 22. 삽입을 실행하고 최대 절전 모드
- 23. Oracle JDBC가있는 최대 절전 모드
- 24. 컬럼이있는 최대 절전 모드
- 25. 최대 절전 모드 도움말
- 26. 최대 절전 모드 @DiscriminatorValue는
- 27. 최대 절전 모드 및 DB2 데이터 반입
- 28. 최대 절전 모드 세션 오류
- 29. 최대 절전 모드 - 문제 도움말
- 30. 최대 절전 모드 - 디스크립터를 사용해야합니까?
사용자가 수동으로 전원 설정을 지정하도록 적극 권장합니다. 우리는 사람들이 갑자기 데이터의 수명이 매우 중요하다고 생각한 다음날 배터리가 완전히 소모되었을 때 데이터를 잃어 버리고 컴퓨터를 사용하지 못하게했습니다. 누군가가 응용 프로그램을 종료하는 것을 잊어 버리거나 무시할 가능성이 가장 작은 경우라도 컴퓨터를 쓸모 없게 만드는 것으로 부탁하지 않는 것이 중요합니다. –