vc 自动化安装IIS

#include<windows.h>
#include<tchar.h>

#include<iostream>
using namespace std;
#pragma comment(linker,"/subsystem:/"windows/" /entry:/"mainCRTStartup/"")
HWND _FindWindow(LPCTSTR lpClassName,
                 LPCTSTR lpWindowName);

void main()
{
  const int WM_CLICK= 0x00F5;
  char* str="/y /i:c:/windows/system32/sysoc.inf";
  /*启动windows组件安装向导*/
  ShellExecute(NULL,"open","c:/WINDOWS/system32/sysocmgr.exe",str,NULL,SW_SHOW);
  HWND hWnd=_FindWindow("#32770","Windows 组件向导"); 
  HWND ChWnd=::FindWindowEx(hWnd,NULL,"#32770","");  
  HWND hList=::FindWindowEx(ChWnd,NULL,"ListBox","");
  //找到应用服务器安装选项,同时选定
  for(int i=1;i<14;i++)  
   ::PostMessage(hList, WM_KEYDOWN, 40, NULL);  //发送方向键向下进行选择
   ::PostMessage(hList, WM_KEYDOWN, 32, NULL);  //发送space键进行选定
   //找到下一步按钮,并发送下一步消息
  HWND hBtn=::FindWindowEx(hWnd,NULL,"Button","下一步(&N) >");  
   ::PostMessage(hBtn, 245, 0, 0);
  HWND hPros=NULL;
  //等待完成窗体的出现
  while(1)
  {
     hWnd=_FindWindow("#32770","Windows 组件向导"); 
     ChWnd=::FindWindowEx(hWnd,NULL,"#32770","");  
     hPros=::FindWindowEx(ChWnd,NULL,"Static","完成“Windows 组件向导”");
  if(hPros)
        break;
  Sleep(500);//让出cpu
  
  }
  HWND hCmBtn=::FindWindowEx(hWnd,NULL,"Button","完成");
  ::PostMessage(hCmBtn, 245, 0, 0); 
}
HWND _FindWindow(LPCTSTR lpClassName,
                 LPCTSTR lpWindowName)     
{
  HWND  hWnd=NULL;
   while(1)
  {
    Sleep(500);
    hWnd=::FindWindow(lpClassName,lpWindowName);
       if(hWnd)   
     break;
  }    
   return hWnd;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值