您现在的位置是:首页 >

强制跳过激活锁 窗口如何激活自己

火烧 2022-08-30 00:36:51 1038
窗口如何激活自己   在Wi dow 以下 如果程序要激活自己 只需要简单的调用SetForegrou dWi dow即可达到目的 但到Wi 以后 再也没有这么简单了   在Wi dow 以下 如果程

窗口如何激活自己  

  在Window 以下 如果程序要激活自己 只需要简单的调用SetForegroundWindow即可达到目的 但到Win 以后 再也没有这么简单了

  在Window 以下 如果程序要激活自己 只需要简单的调用SetForegroundWindow即可达到目的 但到Win 以后 再也没有这么简单了

  新建一个简单的工程 加进一个Timer控件 设置时间间隔为 秒 接着在时间事件中写SetForegroundWindow(Handle) 好 运行程序 将窗口切换到后台 秒钟之后 你看到的只是任务栏上闪了闪 窗口仍然躺在后面

  这是怎么回事呢 原来在Win 以后 窗口要使用SetForegroundWindow激活自己 必须得到 允许 允许的方式有很多种 我只介绍最简单的一种 就是利用这个API LockSetForegroundWindow先解锁Foreground的窗口 然后再调用SetForegroundWindow

  LockSetForegroundWindow在Delphi的Windows单元中并没有声明 需要自己声明 我将激活的函数重新封装如下 需要的朋友直接用就可以了

  const

  LSFW_LOCK     = ;

  LSFW_UNLOCK   = ;

  function LockSetForegroundWindow(uLockCode: DWORD): BOOL; stdcall;

  implementation

  function LockSetForegroundWindow; external  user dll name LockSetForegroundWindow ;

  function wdSetForegroundWindow(Handle: THandle): Boolean;

强制跳过激活锁 窗口如何激活自己

  begin

  //

  //作者 linzhenqun

  //时间

  //说明 使Win 以上的窗口都可以设置Foreground的函数

  //

  if ((Win Platform = VER_PLATFORM_WIN _NT) and (Win MajorVersion> ))//up win

  or ((Win Platform = VER_PLATFORM_WIN _WINDOWS) and  //up win

  ((Win MajorVersion > ) or

  ((Win MajorVersion = ) and

  (Win MinorVersion > )))) then

  LockSetForegroundWindow(LSFW_UNLOCK);

  Result := SetForegroundWindow(Handle);

  end;

  现在你在时间事件中写下如下代码

  Application Restore;

  wdSetForegroundWindow(Handle);

lishixinzhi/Article/program/net/201311/11670  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码