zoukankan      html  css  js  c++  java
  • C#实现自动锁屏+关屏 枫

    新近找到了windows锁屏API:LockWorkStation

      于是乎把之前的关屏API整合了一下,弄了个可以选择自动锁屏+关屏的东东。

      如下代码片段:

      public Form1( bool aLock ) {

      if (aLock) {

      //锁屏+关屏

      LockWorkStation();

      SendMessage( this.Handle, (uint)0x0112, (IntPtr)0xF170, (IntPtr)2 );

      }

      else {

      //禁止鼠标键盘动作+关屏

      BlockInput( true );

      System.Threading.Thread.Sleep( 10 );

      SendMessage( this.Handle, (uint)0x0112, (IntPtr)0xF170, (IntPtr)2 );

      BlockInput( false );

      }

      this.Close();

      //Application.Exit();

      Environment.Exit( 0 );

      }

      //关屏

      [DllImport( "user32.dll", CharSet = CharSet.Auto )]

      static extern IntPtr SendMessage( IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam );

      //禁止鼠标键盘动作

      [return: MarshalAs( UnmanagedType.Bool )]

      [DllImport( "user32.dll", CharSet = CharSet.Auto, ExactSpelling = true )]

      public static extern bool BlockInput( [In, MarshalAs( UnmanagedType.Bool )] bool fBlockIt );

      //锁屏

      [DllImport( "user32.dll" )]

      public static extern bool LockWorkStation();

      需要指出的是,在退出程序时使用Environment.Exit( 0 );而非Application.Exit();否则会出错哦~~提示类似:“***遇到错误,需要关闭”。

      还有就是修改一下Main:

      static void Main(string[] args) {

      //Application.EnableVisualStyles();

      //Application.SetCompatibleTextRenderingDefault( false );

      if (args == null || args.Length == 0) {

      //禁止鼠标键盘动作+关屏

      Application.Run( new Form1( false ) );

      }

      else {

      //锁屏+关屏

      Application.Run( new Form1( true ) );

      }

      }

      ..

      如此即可大功告成了。。。

      之所以要禁用鼠标键盘,是为了关屏成功。。。~~~废话。。。

      新建个快捷方式,加个参数,即可锁屏。

  • 相关阅读:
    修改MFC标题栏上的图标
    【转】子窗口刷新父窗口的问题
    水晶报表添加引用
    【转】MetadataType的使用,MVC的Model层数据验证
    poj 1556 The Doors 线段相交判断+最短路
    poj 1269 Intersecting Lines 求直线交点 判断直线平行共线
    string 函数操作
    poj 1066 Treasure Hunt 线段相交判断
    poj 1410 Intersection 线段相交判断
    poj 3347 Kadj Squares 扩大数据化整数
  • 原文地址:https://www.cnblogs.com/mrray/p/1883607.html
Copyright © 2011-2022 走看看