zoukankan      html  css  js  c++  java
  • 移动开始菜单

    Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Private Const WM_CLOSE = &H10
    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
    Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
    
    Private Type RECT
            Left As Long
            Top As Long
            Right As Long
            Bottom As Long
    End Type
    Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
    Private Const SW_SHOWNORMAL = 1
    Private Const SWP_SHOWWINDOW = &H40
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Const BM_CLICK = &HF5
    Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
    
    Private Function GetHwnd(buttonHwnd As Long, MenuHwnd As Long) As Boolean
    Dim LhWnd As Long
    Dim StartMenuHwnd As Long
    LhWnd = FindWindow("Shell_TrayWnd", vbNullString)
    buttonHwnd = FindWindowEx(LhWnd, 0, "Button", vbNullString)
    StartMenuHwnd = FindWindow("DV2ControlHost", vbNullString)
    If StartMenuHwnd = 0 Then
        StartMenuHwnd = FindWindow("BaseBar", vbNullString)
    End If
    MenuHwnd = StartMenuHwnd
    End Function
    
    Private Sub Command1_Click()
    Dim hwnd As Long, bHwnd As Long
    Dim myRect As RECT
    GetHwnd bHwnd, hwnd
    SendMessage bHwnd, BM_CLICK, 0&, 0& '开始 按钮
    GetWindowRect hwnd, myRect '理论上是开始菜单,可见开始菜单其实是个“窗体”
    'ShowWindow hwnd, SW_SHOWNORMAL
    Print myRect.Top, myRect.Right'这个地方好象不加个操作就会有问题。在IDE下尤其明显
    'SetWindowPos hwnd, 0, 200, 200, 200, 350, SWP_SHOWWINDOW
    MoveWindow hwnd, 200, 200, 220, 300, True '无法获得其宽度和高度
    End Sub
  • 相关阅读:
    C#的拓展方法
    敲代码
    获取GridView的rowdata
    C#为控件增加或删除委托
    ul嵌套ul IE7下空白行解决方案
    C#设置日期为指定的月份和日子
    web多选上传插件Uploadify
    如何通过key获取value值,键找值!多线程单利模式 3月15日第三版 希望各位路过的高手批评指正 给出更优秀的代码方便后来人
    IE条件语句,IE hack大全
    实现“记录用户登录时间和退出时间,同时记录用户IP,并且要记录用户IP对应的省和城市地址”
  • 原文地址:https://www.cnblogs.com/blogpro/p/11346122.html
Copyright © 2011-2022 走看看