有一个AA程序(别人写的程序)里面有两个列表框,第一个列表框的的内容是高一所有班级的名字,第二个列表框的内容是高一每个班里面的学生名字,在第一个列表框中选择了班级的名字,第二个列表框就会自动变成这个班里面所有同学的名字(这些班级和同学名字的数据保存在一个INI文件里).而我自己做了个BB程序,目地是为了实现AA程序的自动登陆功能而写的,可是要实现AA程序的自动登陆就要在我的这个BB程序中向AA程序发送AA程序列表框中所需的班级和同学名字.请问如果我在BB程序中用POSTMESSAGE这个API把班级和同学名字发给AA程序中的两个列表框应该用哪个WINDOWS消息常量,并且在AA程序收到BB程序发送过来的班级和同学名字之后要能够自动选中列表框中与之对应的班级和同学名字.如果没有这个WINDOWS消息的话,那应该怎么实现! 谢了
发送一个你认识的符号过去
程序收到后就 做 Y 按钮的动作
http://spaces.msn.com/rzpc/blog/cns!2F4381E598C667CC!115.entry
http://dev.csdn.net/article/15/15598.shtm
但有些如果你想具体只某些动作,或者接收专门的消息,就要自定义了你可以给个button发送按下命令,..这都是windows自带的用sendmessage,发送就可以了
http://community.csdn.net/Expert/TopicView.asp?id=4724159
private const int LB_FINDSTRING = 0x018F;//查找列表框中符合条件的项并返回INT数常量
private const int LB_SETCURSEL = 0x0186;//选择并加亮显示符合条件的项常量
private const int LB_ADDSTRING = 0x0180;//向目标列表框添加一项常量
j = FindWindowEx(cc, new IntPtr(0), "ListBox", null);//查找A程序第一个列表框,用SPY++找到的,在不同机子上句柄可能有变化,CC是这个列表框的主窗口句柄
k = FindWindowEx(cc, j, "ListBox", null);//查找A程序第二个列表框,其它同上
int ab=SendMessage(j, LB_FINDSTRING, 0, sr2);//发送消息给A程序第一个列表框,查询列表框中符合条件的项,并返回符合条件的INDEX值
SendMessage(j, LB_SETCURSEL , ab, 0);//利用刚刚返回的INDEX值查找并选择加亮显示该项
SendMessage(k, LB_ADDSTRING, 0, sr3);//向A程序的第二个列表框添加对应于第一个列表框中的子内容,SR3是个字符串变量,其内容为添加的项文本
SendMessage(k, LB_ADDSTRING, 0, sr4);//同上
ab=SendMessage(k, LB_FINDSTRING, 0, sr4);//发送消息给A程序第二个列表框,查询列表框中符合条件的项,并返回符合条件的INDEX值
SendMessage(k, LB_SETCURSEL, ab, 0);利用刚刚返回的INDEX值查找并选择加亮显示该项
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern int SendMessage(
IntPtr hwnd,
int wMsg,
int wParam,
int lParam
);
第二个是:[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern int SendMessage(
IntPtr hwnd,
int wMsg,
int wParam,
string lParam
);
两个的区别是第一个SendMessage最后一个参数是整形,第二个SendMessage最后一个参数是字符串形式,这个要注意,望大家以后多指点,小弟在此谢谢各位了!