查看完整版本: 如何实现控制其它程序的菜单操作?

初学者 2005-7-19 23:47

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

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

Nothing 2005-7-19 23:47

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
页: [1]
查看完整版本: 如何实现控制其它程序的菜单操作?