设为首页  加入收藏 
网上投稿 网站地图
您现在的位置: 天添资源网 >> 电脑网络 >> 网络编程 >> NET专区 >> 正文

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

本站文章非会员原创,如果侵犯了你的权利请联系13978471165
作者:佚名    电脑来源:中国站长站    点击数:    更新时间:2008-1-8
基本思路为,寻找开始菜单按钮窗口,并模拟用户单击

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;
  }


  • 上一个电脑:

  • 下一个电脑:
  • ■■相 关 文 章: 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    中小系统.net DataAccess数据访问…
    MapX从数据库读取数据形成新图层
    程序集应该拥有一个有效的强名称
    一个Web文件上传的C#源代码
    .NET中使用datagrid实现的简单分…
    c#重点知识详解(六)
    c#重点知识解答(五)
    关于我们 | 联系我们 | 客户服务 | 申请链接 | 合作联盟 | 诚征代理 | 诚聘英才
      www.ttzyw.com
    备案序号:桂ICP备号