欢迎光临
我们一直在努力

程序控制开始菜单的弹出 C#-.NET教程,Asp.Net开发

建站超值云服务器,限时71元/月

   

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

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 程序控制开始菜单的弹出 C#-.NET教程,Asp.Net开发
分享到: 更多 (0)