尝试VC控制外部程序

这两天尝试VC控制外部程序呢,慢慢完善...

在参考了网络学习以后,简单做了以下工作:

期间用了spy++



器件



void CVCControlDlg::OnStartreader() //启动朗读女
{
// TODO: Add your control notification handler code here
//int lngtemp;

HWND wnd; 
wnd=::FindWindow(NULL,_T("朗读女 5.9")); 
if(wnd) 

// AfxMessageBox(_T("已经在运行")); 
::SendMessage(wnd,WM_CLOSE,0,0); 
}


if(WinExec("D:\\Program Files\\langdunv\\朗读女\\朗读女.exe", SW_MAXIMIZE )>31)
{
MessageBox("打开OK!");
}

}


void CVCControlDlg::OnSendtext() //发送文本到朗读女的文本框
{
// TODO: Add your control notification handler code here  SendMessage
//"Afx:400000:b:10011:1900015:0"

// CString str; 
// m_txtSend.GetWindowText(str); 
char ch1[1000];
char ch2[1000]={0};

SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,1000,(LPARAM)ch1);

for(int i=0;ch1[i]!='\0';i++)
{
ch2[i]=ch1[i];
}

SendDlgItemMessage(IDC_EDIT2,WM_SETTEXT,0,(LPARAM)ch2);



HWND wnd;
wnd=::FindWindow(NULL,_T("朗读女 5.9"));//FindWindow(NULL,"朗读女 5.9");


HWND wndtxt;
wndtxt=::FindWindowEx(wnd,0,"RichEdit20A",NULL);

::SendMessage(wndtxt,WM_SETTEXT,0,(LPARAM)ch2);


}


void CVCControlDlg::OnSpeak() //发送命令到朗读女的播放按钮
{
// TODO: Add your control notification handler code here
HWND wnd;
wnd=::FindWindow(NULL,_T("朗读女 5.9"));


HWND wndbtn1;
HWND wndbtn2;
wndbtn1=::FindWindowEx(wnd,0,"Button",NULL);
wndbtn2=::FindWindowEx(wndbtn1,0,"Button",NULL);


//::SendMessage(wndbtn2,WM_CLICK,0,0);
//::PostMessage(wndbtn2,BN_CLICKED,0,0);
::SendMessage(wndbtn2,BN_CLICKED,0,0);


}

结果是,启动了朗读女,可是后面的发送文本和朗读命令都没有反应啊???


哪位路过的大神看了,帮小弟指点迷津,多谢!!!


参考链接有:http://zgmgypb.blog.163.com/blog/static/962028192012312281197/

http://blog.csdn.net/sundy_2004/article/details/7765016

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值