私のアプリケーションはC#で動作し、サードパーティのフレームワークを使用しています。多くのapplication.my質問のUIとして機能します。私のアプリケーションが実行され、システムがスタンバイ/ハイバネーションのOS操作をしてはいけません。どういうわけか、私はOS/OSによって提起されたスタンバイ/ハイバネーションのイベントをキャンセルしなければなりません。 Sunはスタンバイおよび休止状態を解除するにはどうすればよいですか?
答えて
.NET内からイベントをキャンセルする方法はありません
感謝。 WM_POWERBROADCAST
を処理してBROADCAST_QUERY_DENY
を返すことによって、P/InvokeとWin32 APIでそれを行う必要があります。正しい方向への押しのためにthis CodeGuru pageを見てください。
また、ユーザーがログオフまたは中断/休止状態になったときに.NETで発生するイベントの詳細については、this pageがあります。
こんにちはLC Iユーザー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()を持っているフォームにコードを入れてください。 それ以外の場合は、そこに座ってこのメッセージを待ち受ける小さな隠しフォームを作成できます。 –
こんにちは 私はそれを短くします ウィンドウはフレームワーク内で描画されますフレームワークが最初に私たちはフレームワーク上で制御を開始することを意味します。 フレームワークはメニューを持っていて、アプリケーション名を含んでいます paricular menu対応のアプリケーションは、ウィンドウを描画するためのデータを送信します。windowsを描画するために必要なすべての詳細をwindowsに通知します。フレームワーク。 –
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. 休止状態のDelete()およびDeleteall()
- 2. 休止状態のフィルタでsession.commitを使用するにはどうすればよいですか?
- 3. OracleのDATEおよび休止状態/ JPAマッピングOracle表の
- 4. .NETストップウォッチはスタンバイ/スリープ/休止状態に対応していますか?
- 5. スタンドアロンJTA 1.2および休止状態:JPAはロールバックされませんか?
- 6. 休止状態の削除
- 7. 休止状態に「on」節を追加するにはどうすればいいですか?
- 8. 休止状態:
- 9. 休止状態
- 10. (休止状態)
- 11. 私は休止状態で、次のモデルのようなものを持って休止状態
- 12. は、私は、このチュートリアルに従う休止状態にサンプルプログラムを作っています休止状態
- 13. 休止状態での1対多マッピングおよび多対多マッピング
- 14. ユニットテストバネで休止状態にする
- 15. 休止状態のJDBCトランザクションを休止状態のトランザクションから切り離す
- 16. 休止状態4
- 17. ロンボク(休止状態)
- 18. が休止状態
- 19. 休止状態 - リンクエンティティ
- 20. と休止状態
- 21. データベース+休止状態
- 22. 休止状態:エラーサブクエリ
- 23. 休止状態:クエリメタデータ
- 24. 休止状態:session.load
- 25. が休止状態
- 26. 休止状態でセッションからオブジェクトを削除します
- 27. 休止状態でプロシージャを呼び出すには?私は次のように休止状態にプロシージャを呼び出すようにしようとしています
- 28. 休止状態でストアドプロシージャを呼び出す方法は?
- 29. は休止状態 - メモリ
- 30. 休止状態でのトランザクション
ユーザーが手動で電源設定を行うことを強くお勧めします。私たちは人々がデータを失い、アプリケーションが突然その寿命が非常に重要であると考えて翌日にはバッテリーが完全に消耗したときに、コンピュータを外出していないようにしました。誰かがアプリケーションを閉じるのを忘れる/無視する可能性が最も低い場合でも、コンピュータを役に立たなくすることによって恩恵を返さないことは非常に重要です。 –