争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

程序控制开始菜单的弹出 C#

时间:2024/7/5作者:未知来源:争怎路由网人气:

基本思路为,寻找开始菜单按钮窗口,并模拟用户单击

void pop()
  {
   User32.EnumWindows(new EnumProc(Enum), 0);
  }
  private bool Enum(IntPtr hWnd, uint param)
  {
   User32.STRINGBUFFER buffer=new User32.STRINGBUFFER();
   User32.GetClassName(hWnd, ref buffer, 256);
   if (buffer.szText == "Shell_TrayWnd")
   {
    User32.EnumChildWindows(hWnd, new EnumProc(Enum2), 0);
    return false;
   }
   else return true;
  }
  IntPtr lastForeGroundWindow;
  private bool Enum2(IntPtr hWnd, uint param)
  {
   User32.STRINGBUFFER buffer = new User32.STRINGBUFFER();
   User32.GetClassName(hWnd, ref buffer, 256);
   if (buffer.szText == "Button")
   {
    if (User32.SendMessage(hWnd, WndMsg.BM_GETSTATE, 0, 0) == User32.BST_PUSHED)
    {
     User32.SetForegroundWindow(lastForeGroundWindow);
    }
    else
    {
     lastForeGroundWindow = User32.GetForegroundWindow();
     User32.SetForegroundWindow(hWnd);
     User32.PostMessage(hWnd, WndMsg.BM_CLICK, 0, 0);
    }
    return true;
   }
   else
    return false;
  }





关键词:程序控制开始菜单的弹出 C#




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版