社区
.NET技术其他语言
帖子详情
C#托盘程序咨询
dzh_lin
2011-10-08 05:16:25
各位大侠
我想问一下C#怎么实现监视所有的鼠标键盘事件?
即使是当前程序最小化的的情况下,也可以记录对其他软件的鼠标单击事件。
...全文
287
8
打赏
收藏
C#托盘程序咨询
各位大侠 我想问一下C#怎么实现监视所有的鼠标键盘事件? 即使是当前程序最小化的的情况下,也可以记录对其他软件的鼠标单击事件。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dzh_lin
2012-11-02
打赏
举报
回复
谢谢各位大侠~小弟试试~
fsk_wyf
2012-04-10
打赏
举报
回复
DEBUGLOG("j7(): Copy one sendqueueitem to writebuffer "<< z4 << " byte.");DELETE_A(pTemp->pMessage);
DELETE(pTemp);} else //如果缓冲区不够放,那把节点消息部分放入缓冲区 {
memcpy(&m_writeBuf[m_writeEnd], pTemp->pBeginWritePos, iTmpBufSize);//修改队列节点的写长度和写指针
z4 -= iTmpBufSize; pTemp->pBeginWritePos += iTmpBufSize; m_writeEnd = MaxWriteBuf;
DEBUGLOG("j7(): Copy the sendqueueitem to writebuffer " << z4 << " byte, Buffer is fulled.");
break; }} // end of while (1) 这个循环数据流向是从发送队列到发送缓冲区
//发送队列空并且发送缓冲区没有数据,跳出循环 if ((NULL == pTemp) && (m_writeEnd <= m_writeBegin))
{ break;}} //end of while (1)return;}
//TSocket功能函数,清空写缓冲区中的数据
void TSocket::clearWriteBuf(){//初始化写参数 memset(m_writeBuf, 0, MaxWriteBuf);
m_writeBegin = 0; m_writeEnd = 0; return;}
//TSocket功能函数,清空读缓冲区数据
void TSocket::clearReadBuf(){y7 = y6;y8 = 4; //消息头四字节是长度y9 = y5;
j1 = 0; memset(m_readBuf, 0, MaxReadBuf);z3 = 0; m_readEnd = 0; return;}
//TSocket功能函数,关闭套接字连接
void TSocket::y2{if (m_fdSocket >= 0){ close(m_fdSocket); } m_fdSocket = -1; m_state=Close; return;}
//TSocket功能函数,设置套接字名称
void TSocket::setSocketName(char* socketName){ if (NULL != socketName){
strncpy(m_sSocketName, socketName, 79); }return;}
//TSocket功能测试函数,打印对象的全部成员变量到日志文件
void TSocket::dump(HOfstream& tOutStream){char l_sBuf4Print[65536];tOutStream.reopen();
sprintf(l_sBuf4Print, "m_remoteAddr.sin_family :%d\n", m_remoteAddr.sin_family);
y1;格式同上 m_remoteAddr.sin_port); y1;.. m_remoteAddr.sin_addr.s_addr); y1;.. m_remoteAddr.sin_zero);
y1;.. m_localAddr.sin_family);y1;..m_localAddr.sin_port);y1;..m_localAddr.sin_addr.s_addr);y1;
.. m_localAddr.sin_zero);y1;.. m_fdSocket);y1;..m_state); y1; ..y6);y1;..y6); y1;..y7); y1;..y8); y1;
..y9);y1; ..j1);y1;..m_readBuf);y1;..z3);y1;..m_readEnd);y1;..m_writeBuf); y1;.. m_writeBegin);y1;
..m_writeEnd);y1;..z7); y1; ..z6);y1; ..z5); y1;..m_sSocketName); y1; tOutStream.close();}
//TSocket功能测试函数,打印发送队列成员到日志文件
void TSocket::dumpSendQueue(HOfstream& tOutStream){
WRITELOG(tOutStream, "This is socket[" << m_sSocketName << "] send queue[itemnumber:" << z5
<< " ] informaiton");TQueueItem* pItem = z7; int iItemOrder = 1;while (NULL != pItem){
WRITELOG(tOutStream, "-------- QueueItem number " << iItemOrder++ << " -------"); printCodeBuff(
pItem->pMessage, pItem->msgLength, tOutStream); pItem = pItem->next; }}
采菇娘的小蘑菇
2012-04-08
打赏
举报
回复
C#写托盘程序 还是比较简单的
我记得有一个nofity控件,
拖一个放到窗体上,
然后把窗体的showintaskbar设为false,
把窗体启动时状态改为最小化,
就可以了,
至于你说的要记录单击,这个,
估计得走底层了,
找下win32编程看看windows有没有提供API?
gzw13999
2012-03-15
打赏
举报
回复
c# 搞这个能力有限啊。 还不如E语言。
zhouxingyu896
2011-12-19
打赏
举报
回复
支持楼上的
楼主可以下载这个键盘钩子,要不楼主自己写钩子程序呢
CalvinWang
2011-10-08
打赏
举报
回复
Processing Global Mouse and Keyboard Hooks in C#
http://www.codeproject.com/KB/cs/globalhook.aspx
C#
实现窗口最小化到系统
托盘
本文介绍如何使用
C#
实现将应用
程序
窗口最小化到系统
托盘
的功能,并提供了具体的代码示例。通过创建NotifyIcon对象及相应事件处理,使得
程序
能够在
托盘
中显示图标并响应双击还原操作。
WinForm的
托盘
开发,PowerTalk,在线
咨询
,源码,原码,类似53kf,live800
为解决网页聊天应用常驻任务栏的问题,本文介绍了一款带
托盘
功能的浏览器开发思路。该浏览器可在后台运行,并根据消息进行提示,旨在提高用户体验。
C winform 开机自启动时最小化到
托盘
双击显示窗体,右击显示菜单
这是基于
C#
WinForm的开源项目,实现开机自启动、最小化到
托盘
、双击显示窗体、右击显示菜单及每隔60秒自动调用服务等功能。代码结构清晰,易集成,适合有
C#
基础开发者学习参考,通过简单配置即可上手。
(15)针对微信主窗体的行为控制-微信UI自动化(.Net+
C#
)
本文介绍了如何使用
C#
实现对微信主窗体的自动化控制,包括判断最小化状态、最大化/最小化、隐藏到系统
托盘
、恢复、移动位置以及焦点管理等,并提供了相关视频和代码片段供读者参考。
视频教程-面向对象
C#
初级入门精讲(6)WinForm基础-
C#
本课程由资深讲师徐照兴教授,涵盖WinForm项目结构、控件使用及事件参数解析,适合初学者快速掌握
C#
桌面应用
程序
开发。
.NET技术其他语言
1,979
社区成员
12,447
社区内容
发帖
与我相关
我的任务
.NET技术其他语言
.NET技术 其他语言讨论
复制链接
扫一扫
分享
社区描述
.NET技术 其他语言讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章