比如在让程序自动点击QQ的"上线","隐身"项。谢谢!
解决方案 »
- 父子进程用剪贴版通信,OpenClipboard修改数据失败,为什么?
- 紧急求援!error LNK2019: unresolved external symbol
- 使用glutSwapBuffers()程序不能start debugging
- 请教高手一个问题, 怎么实现两个内网的两台计算机之间进行TCP通讯
- 局域网端口问题
- 一個關於mfc建立工程時候的問題
- 关于操作注册表的高难 度问题
- Link时总是出错
- 如何实现:当鼠标指向某个菜单项时,菜单项的文字的颜色发生变化
- 请教:Msbuild命令里如何把编译好的文件放到指定位置
- Full--Screen
- 请问,怎样在从WinThread继承的类中创建一个OnTimer()?????
CHAR szClassName[32];
int rn = GetClassName(hwnd, szClassName, sizeof(szClassName) - 1);
if(rn > 0)
{
else if(lstrcmpi(szClassName, "Button") == 0)
{
......
}
}
2.
发消息给按钮来调用按钮相对应的函数
::PostMessage(m_hWnd,WM_COMMAND,MAKEWPARAM(IDOK,BN_CLICKED),0);
::SendMessage(m_hWnd,WM_COMMAND,MAKEWPARAM(IDOK,BN_CLICKED),0);
還可以用GetDlgItem(hWndChild, nID)找到各控件, GetClassName(hWndSun, szClassName, sizeof(szClassName))確定你要找的按鈕,postmessage給它
if(hwndParent==NULL)
return;
HWND hwndPasswd = ::FindWindowEx( hwndParent, NULL, "Edit", NULL );//查找EDIT句柄
if(hwndParent==NULL)
return;
if(::GetForegroundWindow()!=hwndParent)
::SetForegroundWindow( hwndParent );
::SetFocus( hwndPasswd ); CString Message;
Message=m_sArray.GetAt(count%m_sArray.GetSize());
::SendMessage(hwndPasswd, WM_SETTEXT, Message.GetLength(), (LPARAM)Message.GetBuffer(Message.GetLength()));
keybd_event(VK_MENU,0,0,0); //按下alt
keybd_event(83,0,0,0); //按下s
keybd_event(83,0,2,0); //释放s
keybd_event(VK_MENU,0,2,0); //释放alt
count++;
memset(count1,0,10);
itoa(count,count1,10);
GetDlgItem(IDC_COUNT)->SetWindowText(count1);
你帖的是一个自动猜密码的程序段,我要一个模拟鼠标点弹出式菜单的程序:
先点一个button,button会弹出一个popmenu,然后点popmenu上的一个菜单项。
大家来看看呀。。谢谢 wistaria(听风听雨) ,你的程序段我用了,PostMessage没什么动静,是不是我写得不得?我是在鼠标钩子里调用的。请看:
hButton是鼠标所在处的HWND。
CHAR szClassName[32];
int rn = GetClassName(hButton, szClassName, sizeof(szClassName) - 1);
if(rn > 0)
{
if(lstrcmpi(szClassName, "button") == 0)
{
::PostMessage(hButton,WM_COMMAND,MAKEWPARAM(IDOK,BN_CLICKED),0);
}
else{
strcpy(lp,szClassName);
TextOut(hdc,10,150,lp,strlen(lp));
}
你说得很好,在pcanywhere这样的软件里用mouse_event和keybd_event在服务端模拟鼠标和键盘。在本机,通过它们实现我要的功能有点大材小用,呵呵。我想通过消息来实现,
大家告诉一个小弟:单击popmenu的一个菜单项的消息是什么?参数怎么设置?
帮帮手了,,,,
wParam 是菜单的ID 值,你需要用ResourceHacker之类的工具去察看具体的值。
lParam 是产生的来源,具体是什么意义你去查MSDN。