飞秋FeiQ(局域网聊天软件)插件开发指南
飞秋培训
EXCEL数据安全
2、在Excel表格中保护公式设置
主菜单【工具】\【保护】下有保护工作表的命
令,只要执行它就可以保护表格中已经设置的公式。 但如果我们在设置完公式后紧接着就这样做的话,必 定会使得表格的全部单元格都被保护而致使数据不能 输入,因为锁定单元格格式是Excel的缺省设置。因 此我们首先必须,对将要输入内容的单元格开锁:选 中这些单元格,然后单击主菜单【格式】\【单元格】 命令,调出【单元格格式】对话框,在“保护”选项 卡中单击“锁定”,使方框内的“√”消失,让锁定 命令失效。最后再执行主菜单【工具】\【保护】下 的保护工作表命令,完成对表格中公式的保护。
EXCEL操作技巧
2、如何使单元格中的颜色和底纹不打印出来? 问题:对那些加了保护的单元格,还可以设置颜 色和底纹,以便让用户一目了然,从颜色上看出 哪些单元格加了保护不能修改,从而可增加数据 输入时的直观感觉。但却带来了问题,即在黑白 打印时如果连颜色和底纹都打出来,表格的可视 性就大打折扣。
解决办法:选择“文件”\“页面设置”\“工 作表”,在“打印”栏内选择“单色打印”选项。 之后,打印出来的表格就面目如初了。
局域网即时通讯软件-飞秋
1
发送文件
2
3
7.接收文件: 首先点聊天窗口右侧的‘文件’,然后选择 要发送文件,点打开,最后点‘发送’按钮。
局域网即时通讯软件-飞秋
1
发送文件
2
3
局域网即时通讯软件-飞秋
4.查询在线好友: 5.文字通讯: 6.文件传输:
7.远程协助:
局域网即时通讯软件-飞秋
4.查询在线好友: 5.文字通讯: 6.文件传输:
EXCEL常用函数
1、四舍五入函数:ROUND()
关于飞秋聊天软件增加不同网段好友的设置说明
关于飞秋聊天软件增加不同网段好友的设置说明
由于公司腾讯通人数的限制,很多人没有腾讯通账户,导致公司内部联系不畅,现很多人在使用飞秋。
而不同区域,由于网段不同,导致看不到对方,现统一将处理方法告诉各位,请自行设置:
1、在飞秋的“网段好友IP设置”增加网段,方法如下:
1)点飞秋的设置按钮;
2)点“网段好友IP设置”选项,显示为:
3)增加网段:“从”后输入192.168.0.1,“到”后输入192.168.0.255,点“增加”,第一个网段会出现在下方的列表。
依此加到192.168.6.255
2、增加网关IP,设置如下:
1)点到设置IP页面:桌面上右击“网上邻居”,点属性,弹出
2)再右击“本地连接”,选“属性”,双击,
弹出
在默认网关后输入:192.168.0.100(办公楼的网关),点确定。
3、点飞秋的刷新,完成设置,其他网段的人可
见。
后续自动会显示。
高级飞秋的实现原理
3.飞秋传书是来自日本的软件,日文版是它的第一版本;此外还有中文,英文,韩文,葡萄牙文等语言;
4.飞秋使用的加密算法:RSA、Blowfish、RC;
5.飞秋可以使用命令行方式发送信息,命令格式如下:
ipmsg [端口] /MSG [/LOG][/SEAL] <主机名或IP地址> <消息>
可以使用IPMsg [端口] 命令改变默认端口,并同时启动多个实例,但是修改后只有使用相同端口的用户才能收到相互的信息;
6.飞秋非安装版,并不是纯绿色软件,直接删除会在注册表留下垃圾键值;
* 飞秋把所有设置信息都保存在注册表的以下位置:
用户密码以不可逆加密方式存储.
* 如果你忘记了密码, 可以在注册表中将此键值删除,清除密码*\\HKEY_CURRENT_USER\Software\HSTools\IPMsgEng\PasswordStr
{
SOCKET m_socket;
m_socket = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
if (INVALID_SOCKET == m_socket)
{
MessageBox(0, "socket failed.", NULL, MB_OK);
消息发送,文件传输这些功能,都比较简单,如果你会网络编程,给你对方IP地址,这些功能实现起来再简单不过了。语音、视屏等,只需编写一些语音视频采集代码,传书的话,就像传文件一样。
这里给段广播消息的实现代码吧:
// 发送广播登陆消息
void EM_UserLogin::SendLogin_BC(LPEM_DATA msg)
飞秋(FeiQ)使用指南
使用指南(FeiQ)一、如何跟对方聊天?双击该用户,会出来一聊天对话框,在里面可以跟对方进行聊天。
如要发送表情,点击表情按钮,插入表情即可。
需要注意的是,如果对方使用的是IPMSG(飞鸽传书),将无法看到您发送的表情符号。
在聊天时,可以选择字体按钮设置您所喜欢的字体。
您还可以点击输入框右上角的随手涂鸭按钮,绘制出您想要表达的图形,做到图文并茂。
二、聊天时如果给对方发送图片?总共有四种方法:一是点击随手涂鸭按钮,进行绘图模式,绘制图形发给对方。
二是点击发送图形按钮,选择您电脑上的图片发送给对方。
三是通过截屏功能,截取您自己的屏幕图像发送给对方。
四是点击表情,从表情库中选择图片发送给对方。
三、怎么增加和删除表情?增加表情有三种方法:一是点击表情按钮,选择增加表情。
二是选择表情管理,导入表情库。
三是对方自己发送或接收到的图片,可以选择图片点右键,选择增加至表情库中。
删除表情有两种方法:一是通过表情管理中的删除按钮来删除。
二是在表情的页面中,点击要删除的表情按右键选择删除。
四、如何传送文件给对方?在聊天对话框中,在右侧栏中的发送文件里,可以增加您要发送的文件或文件夹。
同时也支持拖放功能,这是一种快捷的操作方式,操作方法是选中要发送的文件或文件夹,按住鼠标左键不动,把文件拖放到聊天对话框中,松掉鼠标左键即可。
点击发送按钮把文件传送给对方。
如果要查看发送的文件进度,可以选择发送文件栏旁边的文件监视按钮进行查看。
在文件监视对话框中即可以查看文件发送状态,也可以取消用户还没有接收的文件。
五、如何接收对方传送来的文件?当对方传送的文件到来时,会在聊天对话框右侧栏中的接收文件栏中显示。
如果您要全部接收,点击全部接收即可。
如果您只接收其中的部分文件,可以选中要接收的文件,点击接收按钮或双击要接收的文件即可。
如果全部不接收点击全部拒收按钮。
如果不接收其中的部分文件,选中不接收的文件,点击取消按钮。
当文件在传送中时,如果要取消或中断传送,点击中断传送按钮。
局域网内如何传输文件
局域网内如何传输文件在如今的数字化时代,我们常常需要在同一局域网内的设备之间传输文件。
无论是在办公室共享工作文档,还是在家中不同电脑之间传递照片和视频,高效、便捷的文件传输方法都能大大提高我们的工作效率和生活便利性。
下面就来详细介绍一下局域网内传输文件的几种常见方法。
首先,我们来谈谈使用共享文件夹的方式。
这是一种较为传统且简单直接的方法。
在要共享文件的电脑上,找到需要共享的文件夹,右键点击选择“属性”,然后在“共享”选项卡中设置共享权限。
可以选择允许特定用户访问,或者允许所有网络用户读取或读写。
设置好共享后,其他在局域网内的电脑就可以通过网络邻居或者资源管理器,找到这台共享电脑,并访问共享文件夹来获取文件。
需要注意的是,为了保证安全性,建议设置合适的访问权限,并定期检查共享设置。
接下来是使用飞秋(FeiQ)这类局域网通讯工具。
飞秋类似于QQ,但它专门针对局域网环境设计。
安装飞秋后,它会自动搜索局域网内的其他用户。
要传输文件,只需双击对方的用户名,打开聊天窗口,然后将文件拖放到聊天窗口中即可发送。
飞秋还支持群发文件,对于需要同时向多个用户传输相同文件的情况非常方便。
而且,飞秋不仅可以传输文件,还能进行文字聊天、语音通话等,功能相当丰富。
另外,Windows 系统自带的“文件和打印机共享”功能也十分实用。
在控制面板中找到“网络和共享中心”,然后点击“更改高级共享设置”,启用文件和打印机共享,并根据需要设置相关的权限和选项。
通过这种方式,其他局域网用户就可以在自己的电脑上直接访问共享的文件和打印机。
如果您需要传输较大的文件,或者希望实现更高效的传输速度,那么使用 FTP 服务器可能是一个不错的选择。
在局域网内的一台电脑上搭建 FTP 服务器,其他电脑就可以通过 FTP 客户端软件连接到服务器来上传和下载文件。
搭建 FTP 服务器的方法有很多,可以使用Windows 系统自带的IIS 服务,也可以使用第三方的FTP 服务器软件,如 FileZilla Server 等。
局域网聊天程序(类飞鸽)综合设计
基于Socks局域网内即时通讯软件(类飞鸽)摘要网络通讯在当今已经不算新鲜事物,但大多数网络通讯都需要借助Internet 上的服务器,这就给那些具有大规模内部网络的用户造成了许多问题,如浪费网络资源、遭遇到网络攻击、传播的病毒、破坏防御系统等等。
由于互连网上的网络通讯工具给企业内部信息交流带来了不便,所以为了方便内部网络的用户之间的沟通,需要开发一个基于局域网的信息收发系统的即时通讯工具,实现在内部网络中进行信息的交流。
本课题设计主要针对局域网通讯而开发设计的,采用的是C/S 构架,类似飞鸽传书系统,来实现聊天、文件传输功能,并借助一些网络通讯组件,成功的实现了在局域网上的即时通讯。
本论文的目标是设计一个类似飞鸽传输的局域网通信软件,并分析它在其领域的优势。
本设计以 C 编写,能在windows xp 等环境下运行。
设计共分为几大模块,分别是:首先,介绍选题设计内容和目标;其次,介绍需求分析和设计思想(TCP/IP 点对点协议技术,C/S 架构和SOCKET 网络编程技术);然后,设计的具体实现;最后,对工作计划统计以及分析系统进行测试并得到测试结果和附录。
关键词:聊天;文件传输;socket;类飞鸽传书;C/S 结构一、设计内容1.1 课题背景当时间走向21 世纪,当今时代也由工业经济渐渐成为了知识经济、信息经济的时代。
信息的需求量的不停增加,促使了计算机通信的日新月异!虽然网络的使用频率与使用的范围都越来越广泛,但是人们使用的网络的用途主要的还是只有两个:(1).相互之间的沟通,(2).资源共享。
局域网作为网络的一个重要组成部分,它不但用户与外界连接的枢纽,同时也是近距离用户之间沟通与资源共享的一个重要途径。
在这种情况下,如何使局域网内的用户便捷的勾通,以及快速的资源共享,也就成为了人们对网络研究的重点之一。
本系统仿飞鸽传输,是一个局域网内的通迅工具,主要通过Winsockt 完成。
它据有的功能有:(1)局域网内用户间简单的文字聊天功能;(2)局域网内用户间相互的文件、文件夹传输。
局域网怎样使用飞秋
局域网怎样使用飞秋
飞秋其实是一款类似QQ的局域网聊天传送文件的即时通讯软件,相当于是QQ飞鸽和局域网的结合体吧,具有局域网内文件传输速度快,操作简便,并且拥有QQ的很多功能。
下面是店铺为大家整理的关于局域网怎样使用飞秋,一起来看看吧!
局域网怎样使用飞秋
首先在百度搜索“飞秋”下载飞秋软件(PS:飞秋软件是绿色免安装,下了即用)
下载解压完成后,直接双击启动,就可打开飞秋,界面大家应该非常熟悉,几乎和以前的QQ一模一样。
第一次打开发果,你所在的网段没有其他人使用的话,界面上应该没有一个好友的,这时我们需要设置不同网段来增加好友。
点击飞秋主界面,最下面“齿轮”图标,打开设置界面。
打开设置界面后,我们可以先修改一下自己的名称和组,默认用户名是电脑的登录用户,设置好后,选择左侧的“网段好友IP设置”,打开“网段好友IP设置”界面。
输入你好友的网段地址,点击增加。
确定后,飞秋将自动刷新好友界面
这样就找到了所有设置网段的好友了,下我们看看如何创建群。
点击上方“2个泡泡”的按钮,打开群画面,按提示,双击后选择“新建群”
在右侧群成员设置选择要添加到群的成员
点击“确定”后创建群成功。
飞秋的原理
飞秋的原理首先,我们需要了解什么是飞秋。
飞秋是一款局域网聊天工具,其原理是基于UDP协议进行通信的。
UDP协议是用户数据报协议,在传输数据时不对数据进行确认及重传,因此速度比TCP协议快,但对数据的可靠性要求较低。
飞秋将实现聊天功能的所有信息封装在UDP数据包中,通过UDP协议传输到对方处。
那么飞秋的工作原理是怎样的呢?首先,飞秋需要获取自己的IP地址和端口号,以便在局域网内进行通信。
获取IP地址和端口号的方式有多种,其中一种较为常见的方式是使用UDP广播协议。
UDP广播协议是一种基于UDP协议的多点广播方式,采用单播和广播两种方式发送UDP数据包,既可以向网络中的所有主机发送数据包,也可以向单个主机发送数据包。
它的一个重要应用就是在局域网内获取其他主机的IP地址和端口号。
一旦获取了自己的IP地址和端口号,飞秋会向局域网内广播自己的信息,以便其他人能够找到自己。
同时,如果有其他飞秋用户在局域网内广播了自己的信息,飞秋也能够接收到这些信息,从而建立连接。
在局域网内建立连接后,飞秋会通过UDP协议进行数据传输。
当用户A向用户B发送聊天信息时,飞秋会将这些信息封装在UDP数据包中,通过UDP协议传输到用户B处。
用户B接收到UDP数据包后,飞秋会将其中的聊天信息解析出来,然后显示在用户B的聊天窗口中。
这样,用户A和用户B就可以在局域网内实现聊天功能了。
需要注意的是,由于UDP协议的特点,飞秋的聊天功能在传输数据时不保证数据的可靠性和完整性。
如果传输的数据包在传输过程中发生了丢包或出现错误,飞秋不会进行重新传输或数据校验,因此有可能会导致聊天信息无法正常传输或者产生乱码。
此外,UDP协议的传输速度快,但也容易受到网络质量和带宽限制的影响。
因此,在使用飞秋进行聊天时,需要注意传输的数据包大小和网络状况,以确保数据的可靠性和传输速度。
总之,飞秋的工作原理主要是基于UDP协议进行通信的。
它通过UDP广播协议获取IP地址和端口号,向局域网内广播自己的信息以及接收其他用户的信息,并通过UDP协议进行数据传输,实现局域网内的聊天功能。
飞秋怎么设置
Q:如何把我的设置信息备份下发给对方,免得对方重新设置?A:右键点击桌面右下角的飞秋图标,选择备份还原数据,选择备份数据,备份后把备份数据发给对方。
对方还原即可。
如果你选择的是xml配置,只需把配置文件发给对方。
对方使用还原备份的xml配置文件功能即可还原。
Q:我想关闭对话框后,过一会儿再打开同一个好友的对话框,刚才的聊天内容不会丢失,该如何设置?A:在对话框的发送右边,有个↓,点击它,把关闭对话框后自动释放对话框资源的勾去掉。
就可以保留了,但要注意,这要付出一定代价的。
这样会增加资源占用,比如内存占用会增加。
Q:如何设置消息是否弹出及是否需要回执?A:在设置;发送接收设置中有相关设置。
Q:为什么飞秋没办法保存(主界面位置、用户名)配置啊?A:旧版的飞秋配置完飞秋后,正常退出一次飞秋。
就是右击飞秋图标,选退出,再开启飞秋就保存了。
从1.093版开始,这个问题已经解决。
Q:如何手动清空飞秋的配置信息?A:第一、先确保已退出飞秋,没有退出的话先退出飞秋.第二、如果配置信息保存在注册表中,请删除 HEKY_CURRENT_USERsoftwareLUBENTAOfeiq 这键如果配置信息保存在xml中,直接删除xml配置文件即可.第三、再运行飞秋即可。
(备注:删除时如果要备份的话,对于注册表可以重命名feiq键名,文件重命名另外一文件名即可)Q:如何快速给大家的电脑安装飞秋,并且一些设置跟我的一样?A:第一步:去飞秋下载多文件的那个。
(当然也有替代方法:自己建一个feiq文件夹,然后把飞秋feiq.exe放到feiq文件夹下,同时在这文件夹里建一个feiq.ini空文件)说明:此文件为飞秋是否把所有配置文件保存在程序同目录下的标志文件。
如果飞秋feiq.exe目录下(目录名最好是feiq),有此feiq.ini文件,则飞秋会将所有配置文件保存在飞秋同目录下的文件夹下。
如果飞秋feiq.exe目录下没有此feiq.ini文件,则飞秋配置文件默认保存在D:Program Filesfeiq或C:Program Filesfeiq目录下。
飞秋FeiQ(局域网聊天软件)插件开发指南
3、界面上的体现
(1)增加菜单
在 OnLoad(IDispatch* FQModuleSite)函数中增加菜单,这函数在程序启动时自动加载。 IFQModuleSitePtr m_ptrModuleSite; IFQRootPtr m_ptrRoot; int m_AddMenuID; HRESULT COfficeChatModule::OnLoad(IDispatch* FQModuleSite) { m_ptrModuleSite = FQModuleSite; m_ptrModuleSite->get_FQRoot(&m_ptrRoot); CComBSTR identeriferMenu("FeiQ.Menu"); m_ptrMenu = m_ptrRoot->Module[(_bstr_t)identeriferMenu]; IFQUICommand* pUICmd = dynamic_cast<IFQUICommand* >(&m_xMenuSink); m_AddMenuID = m_ptrMenu->AddItem(FQ_UI_TYPE_TRAY_MENU, " 退 出 (&C)", pUICmd, " 办公模式对话框||", 101); return S_OK; } /*菜单 Text 说明:
(2)增加抽屉栏面板
CShortCutDlg shortCutDlg; 在 Onload 函数中 IFQFolderBarPtr bar(CLSID_FQFolderBar); shortCutDlg.m_ptrRoot = m_ptrRoot; shortCutDlg.Create(IDD_DIALOG_SHORTCUT); int m_nAddBar = bar->AddBar(L" 程序快捷方式", (LONG)&shortCutDlg);
滥用飞秋网堵塞
滥用飞秋网堵塞
刘秋根
【期刊名称】《网络运维与管理》
【年(卷),期】2016(000)004
【摘要】飞秋(FeiQ)是一款免费的局域网聊天传送文件的绿色软件,在笔者单位数以万计的用户都在使用该软件。
然而在给大家带来便利的同时,也出现了一些问题。
例如,滥用飞秋的一些功能,引起内联网广域网线路堵塞,影响正常的业务系统在网络上运行。
【总页数】2页(P153-154)
【作者】刘秋根
【作者单位】江西新余
【正文语种】中文
【中图分类】TP311.56
【相关文献】
1.秋末五种不同控飞措施进行控飞的探索 [J], 陈学刚
2.工业以太网堵塞断网故障的分析与处理 [J], 杨虎涛
3.以太网堵塞断网故障的分析与处理 [J], 王爱青
4.网课,如何"网"活课堂
——《故都的秋》网课教学感悟 [J], 刘晓莉
5.网课,如何“网”活课堂——《故都的秋》网课教学感悟 [J], 刘晓莉
因版权原因,仅展示原文概要,查看原文内容请购买。
飞秋使用说明
飞秋使用说明
1.下载
打开浏览器,百度飞秋。
点击普通下载到桌面即可,可以得到如下软件图标。
2.打开
双击飞秋图标,选择默认,点击确定即可(第一次打开才会显示),以后使用双击上述图标即可。
软件界面如下:
3.设置
软件启动后,会自动获取局域网内好友。
左击软件界面、最下方设置,如下所示:
在用户名一栏填写自己信息、头像,点击“确定”。
4.即时通讯
双击需要通讯的人的头像,操作等同QQ。
5.发送文件/文件夹
在聊天窗口上方功能栏第四个图标,点击发送文件或发送文件夹。
在目录中选择自己要发送的文件/文件夹,选中后点击下方的打开。
6.接受文件/文件夹
在聊天窗口的右上方,点击接收或者另存为,即可接收对方传来的文件/文件夹。
7.文件共享
在软件界面下方图标,打开后,出现如下界面:
7.1 上传
点击左下角的“设置我的共享文件”,在出现的界面左下方点击增加目录或者增加文件,在路径中选择共享的文件或者文件夹,然后点击右下方的“确定”。
在上图中会显示自己共享的文件/文件夹。
7.2 下载
在上图中点击需要下载的文件左侧的勾选项,点击右下方的“下载”,可以下载所需的
文件/文件夹。
飞秋FeiQ(局域网聊天软件)二次开发文档
飞秋FeiQ(局域网聊天软件)二次开发文档作者:卢本陶lubentao@版权所有 侵权必究FQ_SENDDATA_RESULT描述的是在模块里发送数据返回的结果.enum FQ_SENDDATA_RESULT{FQ_MODULE_SEND_DATA_RESULT_OK = 0,FQ_MODULE_SEND_DATA_RESULT_FAILED = -1,FQ_MODULE_SEND_DATA_RESULT_TIME_OUT = -2,FQ_MODULE_SEND_DATA_RESULT_UNKNOWN_ERROR = -3,FQ_MODULE_SEND_DATA_RESULT_NOT_EXIST = -4};Values:FQ _MODULE_SEND_DATA_RESULT_OK发送数据成功。
FQ _MODULE_SEND_DATA_RESULT_FAILED发送数据失败.FQ _MODULE_SEND_DATA_RESULT_TIME_OUT发送数据超时.FQ _MODULE_SEND_DATA_RESULT_UNKNOWN_ERROR未知错误.FQ _MODULE_SEND_DATA_RESULT_NOT_EXIST结果不存在.说明对方没有此插件。
FQ_UI_TYPE枚举描述在界面上的菜单位置.enum FQ_UI_TYPE{FQ_UI_TYPE_TRAY_MENU = 0,FQ_UI_TYPE_TREE_USERSEL = 1,FQ_UI_TYPE_LIST_USERSEL = 2,FQ_UI_TYPE_MORE_NOUSERSEL = 3,FQ_UI_TYPE_MULTICHAT_LIST = 4,FQ_UI_TYPE_SEARCHUSER_RESULT = 5,FQ_UI_TYPE_CUSTOMFACE_SEL = 6,FQ_UI_TYPE_DAYCALENDER_SEL = 7,FQ_UI_TYPE_DAYCLOCK_TIP = 8,FQ_UI_TYPE_MAIN_ONLINESTATUS = 9,FQ_UI_TYPE_QUN_SEL = 10,FQ_UI_TYPE_CHAT_REPL Y = 11,FQ_UI_TYPE_QUNCHAT_REPL Y = 12,FQ_UI_TYPE_CHAT_SENDOPT = 13,FQ_UI_TYPE_MULTICHAT_SENDOPT = 14,FQ_UI_TYPE_QUNCHAT_SENDOPT = 15,FQ_UI_TYPE_CHAT_PLUGIN = 16,FQ_UI_TYPE_MULTICHAT_PLUGIN = 17,FQ_UI_TYPE_QUNCHAT_PLUGIN = 18};Values:FQ_UI_TYPE_TRAY_MENU托盘菜单。
飞秋2013正式版使用手册
飞秋2013正式版使用手册双击图标,打开飞秋,界面如下:
1、设置用户名及完善个人资料,如下:
打开设置中的“个人资料设置”(如果设置了个人信息共享的话,好友会获取到你设置办公电话、邮箱等个人信息。
)。
2、聊天对话框的界面及说明:
在这里可以发送信息、文件、图片,共享文件、语音及远程协助等。
3、发送与接收文件,如下:
3
4、给多人发送信息或文件:
5、以下是共享文件的方法:
点击主界面上的“文件共享”,在弹出的对话框中选择“设置我的共享文件”。
设置我的共享文件对话框如下:
5
文件共享密码设置对话框:
6、查看下载所有用户的共享文件:
点击主界面上的“文件共享”,查看所有无需密码保护的共享文件,选择要下载的文件(点击前面的复选框选中)点击下载即可。
7、如何建立一个群:
点击主界面群栏目的小箭头,在弹出菜单里选择“新建群”。
然后出现新建群对话框,照着要求填写内容便完成了一个群的建立。
7
8、如何进行日程安排即时提醒:
点击主面板上面的“日程安排记事提醒”按钮进入。
双击日程中的某天,对此日程进行记事安排。
也可以进行批量增加。
查看全部提醒和记事。
9
对日程安排提醒进行导入导出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)增加抽屉栏面板
CShortCutDlg shortCutDlg; 在 Onload 函数中 IFQFolderBarPtr bar(CLSID_FQFolderBar); shortCutDlg.m_ptrRoot = m_ptrRoot; shortCutDlg.Create(IDD_DIALOG_SHORTCUT); int m_nAddBar = bar->AddBar(L" 程序快捷方式", (LONG)&shortCutDlg);
软件交流群:153376930
形式如 ||测试 Group||||测试 其中 || 和 可选。|| 表示分隔符。在名称前加 || 表示 在添加的菜单项上面添加分隔符. 在名称前后 || 表示在添加的菜单项下面添加分隔符. 是上下级菜单的关系。例子 中测试菜单的父菜单是测试 Group。当测试 Group 不存在时,程序会自动创建这组菜单*/
(3)交互控制
以上已经实现了插件在 FeiQ 添加菜单的功能,用户在点击菜单的时候,就可以在插件 中进行响应,具体操作的步骤: HRESULT COfficeChatModule::MenuOnInvoke(enum FQ_UI_TYPE Type, long Id, VARIANT Parameter ) { //点击自定义的菜单后,会触发此事件 if(Id == m_AddMenuID) { //这里写你要实现的代码 } } 设置菜单项的状态: HRESULT COfficeChatModule::XMenuSink::raw_OnQueryState(enum FQ_UI_TYPE Type, long Id, VARIANT Parameter, BSTR * bstrText, enum FQ_UI_ITEM_STATE * State ) {
在程序退出时,删除加载的函数: HRESULT COfficeChatModule::OnUnload() { IFQUICommand* pUICmd = dynamic_cast<IFQUICommand* >(&m_xMenuSink); if(m_ptrMenu) { m_ptrMenu->DelItem(FQ_UI_TYPE_TRAY_MENU, m_AddMenuID, pUICmd); } return S_OK; }
软件交流群:153376930
飞秋 FeiQ( 局域网聊天软件)插件开发指南
作者:卢本陶
lubentao@ 版权所有 侵权必究
1、开发前准备
请确保有飞秋 FeiQ.exe 程序,并且确定版本是在 V2.5a 版本以上。只有 V2.5a 版本及 以上版本才支持插件。 如您还没有飞秋 FeiQ.exe 程序,可以去以下地址下载最新版本: /viewthread.php?tid=43&extra=page%3D1 开发环境为:Visual C++6.0
软件交流群:153376930
//如果上面的代码写成: IFQDataPtr pFQData = m_ptrModuleSite->GetData(key, VARIANT_FALSE); //表示得到接收到的数据,但并没有把数据包从队列中删除. ,这样就会提示一 消息框,当用户点击了消息框上的按钮时,就会触发 OnViewData 消息。 } return S_OK; } HRESULT COthelloGameModule::OnViewData(LPCTSTR key, LPCTSTR Result) { //当在 OnDataReceived 中,没有将 Key 中的数据包从队列中删除的话,将弹出一 个提示框,用户点击提示框的按钮时,将触发 OnViewData 事件 CString strKey = key; IFQDataPtr pFQData = m_ptrModuleSite->GetData(key, VARIANT_TRUE); if(strKey == FQDK_MODULE_KEY_ASKCOMEGAME) { //是否同意对方的邀请 CString strResult = Result; _bstr_t bstrRecvIP = pFQData->GetString(FQDK_SENDER);// 这 个值 是系 统发 送时自动加上的 if(strResult == "接受") { } } return S_OK; }
第二步:设置插件的信息。
软件交流群:153376930
完成点 Finish 完成之后,可以自动生成如下函数:
软件交流群:153376930
这些自动生成的代码, 已经定义了 FeiQ 的接口函数, 一个插件的基本框架已经搭建成功, 用户只需要在这些接口函数里添加自己的功能。 创建完成一个插件工程之后,就需要考虑在 FeiQ 程序界面能体现出该插件,如菜单、 面 板;具体怎么操作可以查看示例中的几个插件源代码。
软件交流群:153376930
METHOD_PROLOGUE(COfficeChatModule, MenuSink) if(Id == pThis->m_AddMenuID1) { //这里设置菜单的属性,如选中,不可用,更改菜单名称 } }
(4)数据的发送和接收
数据的发送: IFQDataPtr pFQSendData(CLSID_FQData); pFQSendData->SetString(FQDK_KEY, FQDK_MODULE_KEY_CHAT); pFQSendData->SetString(FQDK_MODULE_KEY_CONTENT, (LPCTSTR)m_strChat); m_ptrModuleSite->SendData((LPCTSTR)strPlayBuddyIp, pFQSendData); 注意每次发送数据时,必须要设置 FQDK_KEY 的值。 数据发送结果的查看: 数据发送完成后,将解发 OnSendDataResult 的消息。 HRESULT COthelloGameModule::OnSendDataResult(LPCTSTR Sender, LPCTSTR key, enum FQ_SENDDATA_RESULT nResult) { I f(strKey == FQDK_MODULE_KEY_ASKPLGUIN) { //如果是询问是否有插件 if(nResult == FQ_MODULE_SEND_DATA_RESULT_OK) { //发送成功 } } return S_OK; } 数据的接收: 数据到达时,数据会触发 OnDataReceived 消息 HRESULT COthelloGameModule::OnDataReceived(LPCTSTR key) { //当接收到数据包的时候,激发此事件 CString strKey = key; if(strKey == FQDK_MODULE_KEY_ASKPLGUIN) { IFQDataPtr pFQData = m_ptrModuleSite->GetData(key, VARIANT_TRUE); //得到接收到的数据,并将此数据包从队列中删除.
保存:
IFQDataPtr cfgPtr;//得到配置信息 m_ptrRoot->get_mConfig(&cfgPtr); cfgPtr->SetLong(L"OFFICECHAT", g_bOfficeChat);//保存进配置 用户只要把值设置成 cfgPtr 配置信息中,主程序退出时,会自动保存此数据。
更好飞秋插件开发文档及技巧可去飞秋论坛查看: /forumdisplay.php?fid=263 作者: 卢本陶
3、界面上的体现
(1)增加菜单
在 OnLoad(IDispatch* FQModuleSite)函数中增加菜单,这函数在程序启动时自动加载。 IFQModuleSitePtr m_ptrModuleSite; IFQRootPtr m_ptrRoot; int m_AddMenuID; HRESULT COfficeChatModule::OnLoad(IDispatch* FQModuleSite) { m_ptrModuleSite = FQModuleSite; m_ptrModuleSite->get_FQRoot(&m_ptrRoot); CComBSTR identeriferMenu("FeiQ.Menu"); m_ptrMenu = m_ptrRoot->Module[(_bstr_t)identeriferMenu]; IFQUICommand* pUICmd = dynamic_cast<IFQUICommand* >(&m_xMenuSink); m_AddMenuID = m_ptrMenu->AddItem(FQ_UI_TYPE_TRAY_MENU, " 退 出 (&C)", pUICmd, " 办公模式对话框||", 101); return S_OK; } /*菜单 Text 说明:
设置:
HRESULT COthelloGameModule::OnConfig() { //当用户点击插件管理及设置中的设置按钮时,会自动进入此函数 CSetDlg setDlg; setDlg.fontSend = g_fontSend; if(setDlg.DoModal() == IDOK) { g_fontSend = setDlg.fontSend; } return S_OK; }
软件交流群:153376930
g_bOfficeChat = FALSE; } long nSendMsgEnter = 0; if(cfgPtr->raw_GetLong(L"BGCHAT_SENDMODE", &nSendMsgEnter) == S_OK) { g_bSendMsgEnter = nSendMsgEnter; } }