社区
进程/线程/DLL
帖子详情
如何实现双击其他程序的listview?
haorenyige
2008-04-28 04:23:40
如何
双击其他程序的listview?
其他程序可能被激活,也可能没有被激活。所以模拟鼠标和键盘的方法好像没有用。
SendMessage(hwnd, WM_KEYDOWN, 0, 0);
SendMessage(hwnd, WM_KEYUP, 0, 0);这样的方式可以实现么?
但是其他程序的listview的item的handle如何得到呢?
...全文
150
13
打赏
收藏
如何实现双击其他程序的listview?
如何 双击其他程序的listview? 其他程序可能被激活,也可能没有被激活。所以模拟鼠标和键盘的方法好像没有用。 SendMessage(hwnd, WM_KEYDOWN, 0, 0); SendMessage(hwnd, WM_KEYUP, 0, 0);这样的方式可以实现么? 但是其他程序的listview的item的handle如何得到呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
haorenyige
2008-04-29
打赏
举报
回复
up
Eleven
2008-04-29
打赏
举报
回复
up
haorenyige
2008-04-29
打赏
举报
回复
有人可以帮帮忙么?
有没有其他的方式?
haorenyige
2008-04-29
打赏
举报
回复
自己解决了。怎么给分。赫赫
谢谢
jimoguilai和VisualEleven
haorenyige
2008-04-28
打赏
举报
回复
在网上找到一段代码,不知道能行不?正在尝试ing.
void CMyTreeCtrl::OnLButtonDblClk(UINT nFlags, CPoint point)
{
CWnd* pParent = GetParent();
// Check if valid parent
ASSERT(pParent);
// Send notification to parent
NMHDR nmhdr;
nmhdr.code = NM_DBLCLK;
nmhdr.hwndFrom = m_hWnd;
nmhdr.idFrom = GetDlgCtrlID();
GetParent();
PostMessage(WM_NOTIFY, (LPARAM)GetDlgCtrlID(), (WPARAM)&nmhdr);
// Don't call the default implementation
//CTreeCtrl::OnLButtonDblClk(nFlags, point);
}
haorenyige
2008-04-28
打赏
举报
回复
我还发现有NM_DBLCLK这个消息。
我的代码
SendMessage(hwnd, LVM_SETITEMSTATE, index, plvitem.ToInt32());
可以执行,可以设置第index个item的状态,
但是通过
SendMessage(hwnd, NM_DBLCLK, index, plvitem.ToInt32());
却不能实现双击的功能。
haorenyige
2008-04-28
打赏
举报
回复
我查到 LVM_SETITEMSTATE相关信息,LVM_SETITEMSTATE可以设置一个item的文字以及状态等等,但是点击的话,NM_CLICK这个东西还是不太会用。
Chivalry
2008-04-28
打赏
举报
回复
NM_,LVN_LVM打头的消息都看一下,看看有没有你需要的,我手头没有csdn
haorenyige
2008-04-28
打赏
举报
回复
你的意思是
SendMessage(hwnd,WM_NM_CLICK,0,0); 这样么?
我现在来尝试一下
Chivalry
2008-04-28
打赏
举报
回复
查msdn,那就发送设置item的消息阿。。。
haorenyige
2008-04-28
打赏
举报
回复
如果是一个button,一个textbox,或者listview,他们是一个控件,他们有他们的handle,我现在可以得到。
但是我本身的意思是点击listview上的一个项目item,通过FindWindowEx应该是得不到一个listview的item的。
Chivalry
2008-04-28
打赏
举报
回复
这是一个类似的代码
让应用程序从IE中获取键入的网址
转自:www.csdn.net
文章正文
前些时候,朋友想做一个小共享软件,软件的主要作用是阻止用户进入某些网站,他的设想是从IE的地址栏中获取键入的网址,如果这个网址非法的话,则不可以进入,代码如下:
HWND hwnd=::FindWindow(_T("IEFrame"),NULL);
if(hwnd)
{
HWND hwnd2=::FindWindowEx(hwnd,NULL,_T("Edit"),NULL);
char sz[255];
::SendMessage(hwnd2,WM_GETTEXT,255,(LPARAM)sz);
AfxMessageBox(sz);
}
结果发现不能得到正确的结果,从SPY上看,类名也全部是正确的,为什么不能得到正确的结果呢?看了他的代码后,我进行了如下改动,就可以得到正确的结果了:
HWND hwnd=::FindWindow(_T("IEFrame"),NULL);
if(hwnd)
{
HWND hwnd2=::FindWindowEx(hwnd,NULL,_T("WorkerW"),NULL);
HWND hwnd3=::FindWindowEx(hwnd2,NULL,_T("ReBarWindow32"),NULL);
HWND hwnd4=::FindWindowEx(hwnd3,NULL,_T("ComboBoxEx32"),NULL);
HWND hwnd5=::FindWindowEx(hwnd4,NULL,_T("ComboBox"),NULL);
HWND hwnd6=::FindWindowEx(hwnd5,NULL,_T("Edit"),NULL);
char sz[255];
::SendMessage(hwnd6,WM_GETTEXT,255,(LPARAM)sz);
AfxMessageBox(sz);
}
}
Chivalry
2008-04-28
打赏
举报
回复
先使用FindWindow获取其它应用程序窗口的句柄
在使用FindWindowEx获取其ListView的句柄
在SendMessage发送NM_CLICK消息
C# winform
ListView
中
实现
可编辑文本或
双击
出现下拉列表框
通过以上步骤,我们可以
实现
一个具有可编辑文本和
双击
弹出下拉列表功能的
ListView
。这种自定义控件提供了更丰富的交互体验,同时也增加了
程序
的灵活性和可定制性。在实际开发中,你可能还需要考虑一些其他因素,例如...
实现
了
listview
中对某一行
双击
弹出对话框进行编辑
为了
实现
双击
编辑功能,我们需要关注
ListView
的`ItemSelectionChanged`和`MouseDoubleClick`事件。 1. **ItemSelectionChanged** 事件:此事件在用户改变
ListView
项的选择状态时触发。我们通常在此事件中检查是否...
C#
listview
双击
修改源码4个版本
在本资源中,提供了四个版本的C#
ListView
双击
修改的源码,旨在帮助开发者
实现
用户界面中的数据编辑功能。以下是这四个版本源码的主要特点和相关知识点: 1. **原版(基础版)**: 这个版本是最基础的
实现
,它包含...
ListView
实现
可编辑或
双击
出现下拉列表框
在设计时,为
ListView
设置适当的事件处理
程序
,如MouseMove和MouseClick,用于检测
双击
行为。同时,为ComboBox设置SelectedIndexChanged事件,用于在选择完成时更新
ListView
。 以下是一个简单的代码示例: ```...
ListView
复选框只允许
双击
选定的软件源码
从提供的部分源代码可以看出,这是一个简单的VB
程序
,用于
实现
`
ListView
` 控件中复选框只能通过
双击
被选定的功能。代码结构清晰,易于理解和维护。下面是对关键部分的详细解析: ##### 5.1
双击
事件 `DblClick` ...
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章