发新话题
打印

如何实现控制其它程序的菜单操作?

如何实现控制其它程序的菜单操作?

我想控制其它程序的菜单操作,实现对菜单的单击效果  
谢谢!

TOP

Option  Explicit  

Private  Declare  Function  GetMenu  Lib  "user32.dll"  (ByVal  hwnd  As  Long)  As  Long  
Private  Declare  Function  SendMessage  Lib  "user32.dll"  Alias  "SendMessageA"  (ByVal  hwnd  As  Long,  ByVal  wMsg  As  Long,  ByVal  wParam  As  Long,  lParam  As  Any)  As  Long  
Private  Declare  Function  FindWindow  Lib  "user32.dll"  Alias  "FindWindowA"  (ByVal  lpClassName  As  String,  ByVal  lpWindowName  As  String)  As  Long  
Private  Declare  Function  GetMenuItemID  Lib  "user32.dll"  (ByVal  hMenu  As  Long,  ByVal  nPos  As  Long)  As  Long  
Private  Declare  Function  GetSubMenu  Lib  "user32.dll"  (ByVal  hMenu  As  Long,  ByVal  nPos  As  Long)  As  Long  

Private  Const  WM_COMMAND  As  Long  =  &H111  

Private  Sub  Command1_Click()  
       Dim  h1  As  Long,  h2  As  Long,  id  As  Long  
         
       h1  =  FindWindow("Notepad",  vbNullString)    '記事本的句柄  
       h2  =  GetMenu(h1)  
       h2  =  GetSubMenu(h2,  0)                '"檔案"菜單的句柄  
       id  =  GetMenuItemID(h2,  0)          '子菜單"新增"的ID  
       SendMessage  h1,  WM_COMMAND,  id,  ByVal  0&  
         
End  Sub
换个头像,看见广告就眼红,直接封ID。

TOP

发新话题