当前位置:文档之家› WILCOM CCLAIx V2.0.00控件开发说明书

WILCOM CCLAIx V2.0.00控件开发说明书

WILCOM CCLAIx V2.0.00控件开发说明书
WILCOM CCLAIx V2.0.00控件开发说明书

上海井星科技有限公司Wilcom CCLAIx控件开发使用说明书

版本 2.0.00

2010-9-8

目录

1概述 (5)

1.1目标 (5)

1.2符号说明 (5)

2开发流程 (6)

2.1控件简介 (6)

2.2控件安装 (6)

2.3开发流程 (6)

2.4开发注意事项 (7)

3标准开发接口 (8)

3.1接口简介 (8)

3.2标准开发接口函数 (8)

◆InitConnection (8)

◆InitControlServer (8)

◆OpenWritePath (9)

◆CloseWritePath (9)

◆SendMonitorDevice (9)

◆SendSetAgentState (10)

◆SendSetAgentStateEx (10)

◆SendStopMonitorDevice (11)

◆SendAnswerCall (11)

◆SendHangupCall (11)

◆SendHoldCall (12)

◆SendRetrieveCall (12)

◆SendMakeCall (12)

◆SendTransferCall (13)

◆SendPickupCall (13)

◆SendAlternateCall (14)

◆SendConsultationCall (14)

◆SendConferenceCall (15)

◆SendReconnectCall (15)

◆SendDisconnectCall (15)

◆SendDivertCall (16)

◆SendChangePassword (16)

◆SendQueryQueueInfo (17)

◆SendSingleStepConference (17)

◆SendQueryGroupInfoV2 (17)

◆SendHeartBeatV2 (18)

◆SendQueryTrunkGroupInfoV2 (18)

◆SendQueryReasonCodeInfoV2 (18)

◆SendMakePredictiveCall (19)

3.3标准控件事件接口 (19)

◆OnIncomingCallEvt (19)

◆OnCallConnectEvt (20)

◆OnCallDisconnectEvt (20)

◆OnSeizedEvt (20)

◆OnAlertingEvt (21)

◆OnCallFailureEvt (21)

◆OnAgentStateChangeEvt (21)

◆OnOriginatedCallEvt (22)

◆OnHoldCallEvt (22)

◆OnConferenceCallEvt (23)

◆OnConferenceCallEvtV3 (23)

◆OnTransferCallEvt (24)

◆OnTransferCallEvtV3 (24)

◆OnRetrieveCallEvt (25)

◆OnPickupCallEvt (25)

◆OnCCLinkChangeEvt (26)

◆OnCCLinkSwitchEvt (26)

◆OnCCLinkUnavailableEvt (27)

◆OnMonitorDeviceRespond (27)

◆OnQueryQueueInfoRespond (28)

◆OnQueryGroupInfoV2Respond (28)

◆OnHeartBeatV2Respond (29)

◆OnQueryTrunkGroupInfoV2Respond (29)

◆OnQueryReasonCodeInfoV2Respond (29)

◆OnMakePredictiveCallRespond (30)

◆OnSetAgentStateRespond (30)

◆OnSetAgentStateRespond (30)

◆OnStopMonitorDeviceRespond (31)

◆OnStopMonitorAllDeviceRespond (31)

◆OnHangupCallRespond (31)

◆OnHoldCallRespond (32)

◆OnRetrieveCallRespond (32)

◆OnMakeCallRespond (32)

◆OnTransferCallRespond (32)

◆OnPickupCallRespond (33)

◆OnAlternateCallRespond (33)

◆OnConsultationCallRespond (33)

◆OnConferenceCallRespond (34)

◆OnMakePredictiveCallRespond (34)

◆OnDisconnectCallRespond (34)

◆OnDirvertCallRespond (34)

◆OnChangePasswordRespond (35)

◆OnQueryQueueInfoRespond (35)

◆OnQueryQueueInfoEXRespond (35)

◆OnQueryGroupInfoV2Respond (36)

◆OnMonitorAllDeviceRespond (36)

◆OnRequestFailureRespond (37)

◆OnQueryAgentStateV2Respond (37)

◆OnQueryGroupAgentListV2Respond (38)

◆OnHeartBeatV2Respond (38)

◆OnQueryTrunkGroupInfoV2Respond (38)

◆OnQueryReasonCodeInfoV2Respond (39)

◆OnQueryVDNListEvt (39)

◆OnQueryUCIDV2Respond (39)

3.4CCLink返回异常码说明 (40)

4开发例程 (43)

4.1例程简介 (43)

4.2开发示例 (43)

◆初始化操作处理 (43)

◆座席登录操作处理 (44)

◆座席登录事件处理 (44)

◆电话来电振铃事件处理 (45)

◆电话保持操作处理 (46)

◆电话会议操作处理 (46)

5初始化流程处理 (47)

5.1初始化流程处理说明 (47)

6FAQ (47)

7技术支持................................................................................................. 错误!未定义书签。

1概述

Wilcom CCLAIx控件是在WILCOM CTI系统中连接服务端和客户端的工具,利用该控件可以完成软电话,录音软件,班长监控等客户端程序的基本功能。

1.1 目标

本文的目的是使读者可以了解控件的安装、接口和事件,阅读本文后能够编写基于Wilcom CTI的简单电话功能软件。

1.2 符号说明

[in] 输入参数

[out] 输出参数

[in/out] 该参数在函数调用时,作为输入参数;在函数返回时,作为输出参数

2开发流程

2.1 控件简介

CCLAIx控件是基于Wilcom CTI系统之上的一个通信工具,用户可以调用CCLAIx控件接口,发送请求给CTI服务器,并且通过CCLAIx控件的事件接口获取到服务器的返回和事件通知。

CCLAIx控件接口支持C/C++、C#、VBScript、JavaScript等语言的调用,但目前不支持java

CCLAIx控件与CTI服务器的架构图

2.2 控件安装

打开“开始-运行”,在输入框中输入regsvr32 CCLAIx控件的路径;如果弹出注册成功,那么控件安装就成功了。

2.3 开发流程

1.用户进行一般性的开发时,则利用CCLAIx控件进行开发时,首先需要调用InitConnection接口建立和CTI服务器之间的连接,然后调用相应的接口与CTI服务器进行通信。

2.用户如需使用高可靠功能,则利用CCLAIx控件进行开发时,首先需要调用InitControlServer接口建立和2台CTI服务器之间的连接,CCLAIx根据用户传入的参数将一台CCLink作为默认进行命令请求的服务器.当该台CCLink发生异常时,CCLAIx将自动与另外一台CCLink进行命令请求,并进行相关信息的同步.同时向外触发CCLink切换事件及CCLink状态改变事件.当2台CCLink均无法正常工作时,CCLAIx将向外触发CCLink无法使用事件.

如果需要监视某个分机,可以调用SendMonitorDevice接口发送监视某个分机的请求,这样当这个分机有事件(例如摘机、通话、会议等)产生时,CCLAIx控件会触发相关的事件接口。

用户控件开发流程如下:

CCLAIx控件开发流程图1

CCLAIx 控件开发流程图2

2.4 开发注意事项

一般进行电话控制时,我们通常使用CALLID 标示一通Call,所以需要对CallID 进行保存,以便在对这通电话进行操作时用到。例如:当保持一通电话时,在调用SendHoldCall 接口发送保持电话请求时,参数中有要保持电话的CallID。

3标准开发接口

3.1 接口简介

CCLAIx控件接口分为开发接口和事件接口,开发接口就是让用户通过调用来操作电话和改变座席状态的;而事件接口是当话机或在登录在该话机上座席发生改变时,控件通过事件接口来通知客户端的。

3.2 标准开发接口函数

◆InitConnection

函数原形:

long InitConnection( long localPort, long remotePort, BSTR remoteIP);

功能:

初始化和CTI服务器的连接;

参数说明:

localPort : [in] 本地端口号

remotePort: [in] 服务器端口号

remoteIP : [in] 服务器IP地址

返回值:

0 表示成功

其它失败

说明:

◆InitControlServer

函数原形:

long InitControlServer(LONG localPort,LONG CtiPort, LONG ControPort, BSTR MostlyCtiIP, BSTR ControlIP);

功能:

初始化和2台CTI服务器的连接;

参数说明:

localPort : [in] 本地端口号

CtiPort : [in] 主CTI服务器端口号

ControlPort : [in] 备CTI服务器端口号

MostlyCtiIP : [in] 主CTI服务器IP

ControlIP : [in] 备CTI服务器IP

返回值:

0 表示成功

其它失败

说明:

该接口占用2个本地端口,一个为用户传入的端口,另外一个为用户传入的端口号+1所获值.

◆OpenWritePath

函数原形:

void OpenWritePath(void)

功能:

开启控件记录日志功能

参数说明:

返回值:

说明:

可以通过调用该函数开启日志记录功能

◆CloseWritePath

函数原形:

void CloseWritePath(void)

功能:

关闭控件记录日志功能

参数说明:

返回值:

说明:

在开启日志记录功能后,通过调用该函数来关闭日志记录功能

◆SendMonitorDevice

函数原形:

void SendMonitorDevice( BSTR deviceID, char monitorMode);

功能:

监视分机;

参数说明:

DeviceID :[in] 要监视的分机号码

monitorMode:[in] 监视类型一般为: ’1’

返回值:

说明:

◆SendSetAgentState

函数原形:

void SendSetAgentState( BSTR deviceID,

BSTR agentID,

BSTR agentPWD,

BSTR agentGroup,

char agentMode);

功能:

修改座席状态,实现登录、话后处理、暂停、退出、工作等座席的状态改变

参数说明:

deviceID :[in] 分机号码

agentID :[in] 座席号码

agentPWD :[in] 座席密码

agentGroup:[in] 座席的组号

agentMode :[in] 座席状态

返回值:

说明:

agentMode ‘0’表示登录 48

‘1’表示退出 49

‘2’表示暂停 50

‘3’表示工作 51

‘4’表示话后处理 52

◆SendSetAgentStateEx

函数原形:

void SendSetAgentStateEx( BSTR deviceID,

BSTR agentID,

BSTR agentPWD,

BSTR agentGroup,

char agentMode,

char ReasonCode);

功能:

修改座席状态,实现登录、话后处理、暂停、退出、工作等座席的状态改变;相比SendSetAgentState

接口添加了ReasonCode参数。该参数为用户座席状态变为暂停时传递的原因码(暂停原因码).

参数说明:

deviceID :[in] 分机号码

agentID :[in] 座席号码

agentPWD :[in] 座席密码

agentGroup:[in] 座席的组号

agentMode :[in] 座席状态

ReasonCode:[in] 原因码

返回值:

说明:

◆SendStopMonitorDevice

函数原形:

void SendStopMonitorDevice(BSTR deviceID);

功能:

停止监视分机;

参数说明:

DeviceID :[in] 分机号码

返回值:

说明:

◆SendAnswerCall

函数原形:

void SendAnswerCall( BSTR deviceID, BSTR callID);

功能:

发送应答电话;

参数说明:

deviceID :[in] 分机号码

callID : [in] 电话标示ID

返回值:

说明:

◆SendHangupCall

函数原形:

void SendHangupCall( BSTR deviceID, BSTR callID);

功能:

发送挂断电话;

参数说明:

deviceID :[in] 分机号码

callID : [in] 电话标示ID

返回值:

说明:

◆SendHoldCall

函数原形:

void SendHoldCall( BSTR deviceID, BSTR callID);

功能:

发送保持电话;

参数说明:

deviceID :[in] 分机号码

callID : [in] 电话标示ID

返回值:

说明:

◆SendRetrieveCall

函数原形:

void SendRetrieveCall( BSTR deviceID, BSTR callID);

功能:

发送取消保持电话;

参数说明:

deviceID :[in] 分机号码

callID : [in] 电话标示ID

返回值:

说明:

◆SendMakeCall

函数原形:

void SendMakeCall( BSTR callingDeviceID,

BSTR calledDeviceID,

char CallType,

BSTR UUI);

功能:

发送外拨电话;

参数说明:

callingDeviceID :[in] 主叫号码

calledDeviceID :[in] 被叫号码

CallType :[in] 呼叫类型一般是‘1’

UUI :[in] 一般为空

返回值:

说明:

电话外拨时,注意如果使用的是模拟话机那么在发送外拨请求后5s内,要将话机摘机,不然外拨会失败。

◆SendTransferCall

函数原形:

void SendTransferCall( BSTR heldDeviceID,

BSTR heldCallID,

BSTR activeDeviceID,

BSTR activeCallID);

功能:

发送电话转移请求;

参数说明:

heldDeviceID :[in] 处于电话保持的分机号码

heldCallID :[in] 处于电话保持的CallID

activeDeviceID :[in] 处于当前通话的分机号码

activeCallID :[in] 当前通话的CallID

返回值:

说明:

◆SendPickupCall

函数原形:

void SendPickupCall( BSTR deviceID, BSTR calledDeviceID);

功能:

发送电话代接请求;

参数说明:

deviceID :[in] 要代接的分机号码

calledDeviceID :[in] 被代接的分机号码

返回值:

说明:

◆SendAlternateCall

函数原形:

void SendAlternateCall( BSTR heldDeviceID,

BSTR heldCallID,

BSTR activeDeviceID,

BSTR activeCallID);

功能:

发送电话切换请求;

参数说明:

heldDeviceID :[in] 处于电话保持的分机号码

heldCallID :[in] 处于电话保持的CallID

activeDeviceID :[in] 处于当前通话的分机号码

activeCallID :[in] 当前通话的CallID

返回值:

说明:

◆SendConsultationCall

函数原形:

void SendConsultationCall( BSTR deviceID,

BSTR callID,

BSTR calledDeviceID,

char CallType,

BSTR UUI);

功能:

发送电话磋商请求;

参数说明:

deviceID :[in] 分机号码

callID :[in] 当前呼叫的CallID

calledDeviceID :[in] 要磋商的分机号码

CallType :[in] 呼叫类型一般是‘1’

UUI :[in] 一般为空

返回值:

说明:

◆SendConferenceCall

函数原形:

void SendConferenceCall( BSTR heldDeviceID,

BSTR heldCallID,

BSTR activeDeviceID,

BSTR activeCallID);

功能:

发送电话会议请求;

参数说明:

heldDeviceID :[in] 处于电话保持的分机号码

heldCallID :[in] 处于电话保持的CallID

activeDeviceID :[in] 处于当前通话的分机号码

activeCallID :[in] 当前通话的CallID

返回值:

说明:

◆SendReconnectCall

函数原形:

void SendReconnectCall( BSTR heldDeviceID,

BSTR heldCallID,

BSTR activeDeviceID,

BSTR activeCallID);

功能:

发送电话重连请求;

参数说明:

heldDeviceID :[in] 处于电话保持的分机号码

heldCallID :[in] 处于电话保持的CallID

activeDeviceID :[in] 处于当前通话的分机号码

activeCallID :[in] 当前通话的CallID

返回值:

说明:

◆SendDisconnectCall

函数原形:

void SendDisconnectCall( BSTR deviceID, BSTR disconnectedDeviceID);

功能:

发送电话挂断请求;

参数说明:

deviceID :[in] 分机号码

disconnectedDeviceID :[in] 要挂断电话的分机号码返回值:

说明:

◆SendDivertCall

函数原形:

void SendDivertCall( BSTR callingDeviceID,

BSTR calledDeviceID,

char CallType,

BSTR UUI);

功能:

发送电话前转请求;

参数说明:

callingDeviceID :[in] 分机号码

calledDeviceID :[in] 要前转的分机号码

CallType :[in] 呼叫类型一般是‘1’

UUI :[in] 一般是空

返回值:

说明:

◆SendChangePassword

函数原形:

void SendChangePassword( BSTR agentID,

BSTR oldPassword,

BSTR newPassword);

功能:

发送修改座席登录密码请求;

参数说明:

agentID :[in] 要修改密码的座席号码

oldPassword :[in] 座席的原密码

newPassword :[in] 座席的新密码

说明:

◆SendQueryQueueInfo

函数原形:

void SendQueryQueueInfo( BSTR deviceID, BSTR agentID);

功能:

发送查询排队信息;

参数说明:

deviceID 要查询排队信息的分机号码

agentID 座席号码

返回值:

说明:

◆SendSingleStepConference

函数原形:

void SendSingleStepConference( BSTR callID,

BSTR deviceID,

BSTR joinDeviceID,

char joinType);

功能:

发送电话单步会议请求;

参数说明:

callID :[in] 可以为空

deviceID :[in] 正在通话的分机号码

joinDeviceID :[in] 要加入通话的分机号码

joinType :[in] 加入类型‘0’插话;‘1’监听返回值:

说明:

◆SendQueryGroupInfoV2

函数原形:

void SendQueryGroupInfoV2( BSTR sDeviceID, BSTR sGroupID);

功能:

发送查询组信息请求;

sDeviceID :[in] 分机号码

sGroupID :[in] 要查询的组号码

返回值:

说明:

◆SendHeartBeatV2

函数原形:

void SendHeartBeatV2( BSTR sDeviceID, BSTR sReserve1);

功能:

发送心跳请求;

参数说明:

sDeviceID :[in] 分机号码

sReserve1 :[in] 保留参数

返回值:

说明:

◆SendQueryTrunkGroupInfoV2

函数原形:

void SendQueryTrunkGroupInfoV2( BSTR sDeviceID, BSTR sTrunkID);

功能:

发送查询中继组信息请求;

参数说明:

sDeviceID :[in] 分机号码

sTrunkID :[in] 中继组号码

返回值:

说明:

◆SendQueryReasonCodeInfoV2

函数原形:

void SendQueryReasonCodeInfoV2( BSTR sDeviceID, BSTR Reserve1);

功能:

发送查询暂停原因码请求;

参数说明:

sDeviceID :[in] 分机号码

Reserve1 :[in] 保留参数

返回值:

说明:

◆SendMakePredictiveCall

函数原形:

void SendMakePredictiveCall ( BSTR callingDeviceID,

BSTR calledDeviceID,

char allocationState,

char CallType,

BSTR UUI);

功能:

发送预拨请求

参数说明:

callingDeviceID :[in] 预拨电话进来的VDN号码,

calledDeviceID :[in] 客户的电话号码,如果是外线要添加出局码

allocationState :[in] 一般是’0’

CallType :[in] 呼叫类型是’3’

UUI :[in] 一般是NULL

返回值:

说明:

3.3 标准控件事件接口

◆OnIncomingCallEvt

函数原形:

void OnIncomingCallEvt( BSTR deviceID,

BSTR callID,

BSTR DNIS,

BSTR ANI,

long CallType,

BSTR UUI);

功能:电话振铃事件

参数说明:

deviceID :[out] 分机号码

callID :[out] 电话的CallID

DNIS :[out] 被叫号码

ANI :[out] 主叫号码

CallType :[out] 呼叫类型

UUI :[out] UUI 一般用于传递一些其它的参数说明:

◆OnCallConnectEvt

函数原形:

void OnCallConnectEvt( BSTR deviceID,

BSTR callID,

BSTR callingDeviceID,

BSTR calledDeviceID,

BSTR trunkGrp,

BSTR trunkMem);

功能:

电话接通事件

参数说明:

deviceID :[out] 分机号码

callID :[out] 呼叫的CallID

callingDeviceID :[out] 主叫号码

calledDeviceID :[out] 被叫号码

trunkGrp :[out] 中继组号

trunkMem :[out] 中继的通道号

说明:

◆OnCallDisconnectEvt

函数原形:

void OnCallDisconnectEvt( BSTR deviceID,

BSTR callID,

BSTR callingDeviceID,

BSTR calledDeviceID);

功能:

电话挂断事件

参数说明:

deviceID :[out] 分机号码

callID :[out] 呼叫的CallID

callingDeviceID :[out] 主叫号码

calledDeviceID :[out] 被叫号码

说明:

◆OnSeizedEvt

KIS专业版插件开发接口说明

KISBillTransfer组件使用参考 客户化开发工具包参考手册目录 目录 (1) 概述 (1) 属性 (2) 方法 (2) 事件 (4) 中间层事件 (8) 应用示例 (9) 概述 单据二次开发是针对现目前单据的一些功能无法满足一些客户的特殊要求,同时分公司又有能力进行二次开发而提出的,这样既可以在现有的系统不做变动的情况下面满足用户的需求,同时也增强了系统的稳定性。 注意:本篇所介绍所用到的动态连接库名为:KISBillTransfer.dll 通过该说明文档,你可以了解到 1.如何通过KISBillTransfer组件在录单过程中对单据上各项目加以控制。 2.如何通过KISBillTransfer组件实现自定义功能菜单。 3.如何通过KISBillTransfer组件控制数据的保存。 4.应用示例。 该文档阅读的适用对象 需要在KIS专业版进销存和生产委外业务单据上进行二次开发的开发者。

属性 1.Property Cnnstring As String 当前数据库的MMTS.PropsString连接串。 2.Property SystemName As String 当前系统名称。 3.Property LastInfo As String 最后一次系统返回的错误信息 4.Property BillForm As Object 整个单据窗体对象。可通过该对象访问单据上的任何一个对象,包括控件,菜单。 共有的方法有:InsertRow(),在Grid的当前行追加一行,它没有参数。 5.Property BillFunc as Object 代表单据对象。目前没什么用途。 6.Property Head As Object 单据表头控件,是一个KDText控件数组 7.Property Grid As Object 单据分录控件,为FpSpread控件 8.Property SumGrid As Object 单据分录合计控件,为FpSpread控件 9.Property HeadCtl As Variant 对应表头控件数组,记录每个表头项目各属性的数组 如果要改变HeadCtl中的某个属性值,需先对HeadCtl做一个备份,然后修改此备份的相应属性值,再将此备份赋值给HeadCtl。 10.Property EntryCtl As Variant 对应分录各列,记录每个分录列各属性的数组 如果要改变EntryCtl中的某个属性值,需先对EntryCtl做一个备份,然后修改此备份的相应属性值,再将此备份赋值给EntryCtl。 11.Property SaveVect As KFO.Vector 二次开发外部数据存取接口。在录单过程中,用户可将某些数据保存在此Vector中,在单据保存时,再通过二次开发中间层组件,将此Vector中的数据保存到指定位置。 SaveVect.Item(1) 为一个KFO.Dictionary对象 该对象包含以下四个系统数据 SaveVect.Item(1).Value("FInterID"):单据内码 SaveVect.Item(1).Value("FTransType") :单据事务类型 SaveVect.Item(1).Value("ISRedBill") :是否红字单据 SaveVect.Item(1).Value("BillChecked") :是否审核。 方法 1.Function AddUserMenuItem(ByVal Caption As String, [ByVal RootMenuCaption As String = ""])

大漠插件字库原理介绍

首先说明下大漠综合工具制作字库的过程和原理 1.截取你所需要的图片 2.点击你所需要字的颜色 3.点击提取点阵 4.输入字符按回车生成字库 具体的原理我不好说,但是就我的理解是:对图片中不符合指定颜色的部分去除掉,然后二值化获取点阵,点阵也就是这些颜色的分布规律,二值化就是黑白两色,RGB格式中黑色"000000"白色"ffffff" 由于我的脚本在别人电脑上运行的时候经常失效,今天改成16位色后我机器上运行也失效了,而我这个脚本主要采用的就是大漠插件的找字功能,我以为是机器间的色偏造成的,一直想法子算色偏,但是我失败了。 后来我想起论坛上有个帖子专门讲过同色系的RGB格式中R值是不变的(不好意思忘了作者了,在这里致谢) 于是我就在大漠综合工具的色偏处输入了00ffff结果是在16位色环境下,大漠综合工具中二值化区域内的字显示的跟我在32位色环境下做的一模一样,接着我提取点阵,制作字库,进行调试,命令格式如下: dm_ret =dm.FindStr(0,0,978,585, "码", "ffd463-00ffff", 1.0, x1, y1) If x1 >= 0 Then MessageBox x1 & y1 End If 准确的弹出了x,y的坐标值 接着我换32位色做同样的调试,显示结果与16位色下相同,我测了坐标正好是我要找的字的左上角 经多次测试发现这个方法中字色的R值必须为FF或00(至于F1,01等未测试,有兴趣的朋友可以试试) 庆幸啊以后找字可以不考虑偏色了呵呵再说了考虑我也不会算 具体原理我也不是很懂,但是我估计应该是:我比较了点阵中R值相同的所有点,取得符合二值化点阵区域内所有的点造成的 再次提醒此方法只适合R值为00,FF的其他位置相同的未测试 当然这么做效率是低了点,但是在我看来脚本应该是:稳定性>通用性>执行效率,毕竟脚本也是你编写的一种软件吗 鲜花,银币在哪拿来啊呵呵 简单说下后台操作的方法,先判断该窗口是否支持后台,用下面的语句: Hwnd=Plugin.Window.Foreground() Hwmd=Plugin.Window.GetkeyFocusWnd() If Hwmd<>0 then Messagebox "可以" Else

WIRESHARK插件开发环境配置说明

TETRA协议解析器的开发 要开发基于Wireshark的协议解析器插件,首先需要配置Wireshark的编译环境。具体步骤如下: 第一步:安装Visual Studio编译器,协议分析软件开发采用的是Visual Studio2010。 第二步:安装Cygwin软件。cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件。 安装Cygwin软件时应注意,当弹出如图5-2所示对画框时,修改默认的选项,从而安装下列的库: Archive/unzip Devel/bison Devel/flex Interpreters/perl Utils/patch Web/wget 修改方法如下: 单击“new”列表中“skip”选项,修改Category/Package配置。若配置修改完毕,点击“next”,几秒钟后,安装程序将下载并安装选中的库。

图5-2Cygwin软件的安装 第三步:安装Python软件。 第四步:下载Wireshark源代码并编辑config.nmake文件。 下载Wireshark源代码后,在Wireshark目录里面打开config.nmake,需要进行以下设置之后才可以开始编译: (1)WIRESHARK_LIBS,设置编译wireshark所需的库所在的目录,默认即可。 (2)PROGRAM_FILES,设置本机程序安装目录,默认即可。 (3)MSVC_VARIANT,因为使用VS2010编译,所以这里将值为MSVC2010的那一行前的#去掉,其余MSVC_VARIANT项行首全部加上#注释掉。 (4)CYGWIN_PATH,将其设置为Cygwin的bin目录,例如D:\Cygwin\bin。 (5)PYTHON及其后的PATH,将其修改为本机python.exe和其安装目录的位置,例如D:\Python2.7\Python.exe。 其余的选项都默认即可。 (6)MSVCR_DLL,如果VS安装在D盘,请在这里相应的地方用绝

大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击脚本

大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击 脚本 一、准备工作 第一步:下载大漠插件、解压,运行“注册大漠插件到系统.bat”,把全部东东都复制到按键精灵的plugin目录下吧~ 第二步:创建一个文件夹,以d:\test 为例。把你要找的图(60.bmp)、大漠插件里的dm.dll 和RegDll.dll复制到这个文件夹。 第三步:打开按键精灵,创建一个新脚本。往附件(在软件左边框选项)里面添加dm.dll、Reg.dll和图60.bmp 二、复制以下代码到按键精灵 dim ys1,ys2,ys3,a,b,zbx,zby//自定义变量 ys1=9000//1和2点延时 ys1=9000//2和3点延时 ys1=9000//3和1点延时 a=15//纵向下移15单位 b=-15//纵向上移15单位 zbx=100//获取窗口句柄给定的坐标x zby=100//获取窗口句柄给定的坐标y PutAttachment "d:\test", "*.*" //意思是释放所有附件到d:\test目录。就是把有用的文件打包到test目录下 PutAttachment ".\Plugin", "RegDll.dll" //意思是释放RegDll.dll文件到按键精灵安装目录的Plugin目录下,用来完成大漠插件的注册 Call Plugin.RegDll.Reg("d:\test\dm.dll") //调用大漠插件,在按键精灵中使用 Set dm = createobject("dm.dmsoft") //用大漠插件创建一个对象dm dm_ret = dm.SetPath("d:\test") // 设置全局路径,以后你找图用的图片都默认是test目录里的图片了,否则你要用绝对路径d:\test\1.bmp来该表示图片 dm_ret = dm.LoadPic("*.bmp") // 字面意思是加载test目录下的所有图片 Hwnd = dm.GetPointWindow(zbx,zby)//用大漠软件获取给定坐标(zbx,zby)的窗口句柄,保存在Hwnd里 Call Plugin.Window.Move(Hwnd, 0, 0) // 把窗口移到屏幕的(0,0),即左上角 dm_ret = dm.BindWindow(Hwnd,"gdi","windows","windows",0) //这句用来绑定辅助操作的对象窗口 //下面是一条判断语句,如果绑定失败就会提示。那就从前面几几步中找原因吧 Delay 10 If dm_ret = 1 Then Else MessageBox "绑定失败,重启脚本或联系作者" EndScript

jQuery 插件开发详解

JavaScript jQuery 插件开发 jQuery 插件开发其实很简单 jQuery已经被广泛使用,凭借其简洁的API,对DOM强大的操控性,易扩展性越来越受到web开发人员的喜爱,我在社区也发布了很多的jQuery插件 经常有人询问一些技巧,因此干脆写这么一篇文章给各位jQuery爱好者,算是抛砖引玉吧。 【基础】 a)样式 很多人会认为样式是个很复杂的东西,需要沉着冷静的心态加上非凡的审美观才能设计出赏心悦目的UI,抛开图片设计不说,其实css也就是那么些属性:position,margin,paddi ng,width,height,left,top,float,border,background... UI设计的漂亮与否在很大程度上依赖于设计人员对配色的把握和整体效果的协调。举个简单的例子,一个简单的页面,马虎的人: 复制代码代码如下: Test Page jQuery是一个框架!压缩后有30多k吧。

细心的人: 复制代码代码如下: Test Page jQuery是一个框架!压缩后有30多k吧。 专心的人: [Ctrl+A 全选注:如需引入外部Js需刷新才能执行] 我们对比一下三者的UI效果:

VB常用控件属性

VB常用控件属性 4.1 标签 标签是VB中最简单的控件,用于显示字符串,通常显示的是文字说明信息。但不能编辑标签控件。 使用标签的情况很多,通常用标签来标注本身不具有Caption属性的控件。例如,可用标签为文本框、列表框、组合框等控件来添加描述性的标签。还可编写代码改变标签控件的显示文本以响应运行时的事件。例如,若应用程序需要用几分钟处理某个操作,则可用标签显示处理情况的信息。 4.1.1 常用属性 标签的属性很多,下面介绍几个常用的属性。 (1)Alignment属性 设置标签中文本的对齐方式。其使用语法如下: Object.Alignment[=值] 其中的“值”可以为0,1或2。0(默认值)表示左对齐;1表示右对齐;2表示居中。 (2)AutoSize属性 设置控件是否能够自动调整大小以显示所有的内容。其使用语法如下: Object.AutoSize[=True或False] (3)BackStyle属性 设置标签的背景样式。其使用语法如下: Object.BackStyle[=值] 其中的“值”可以为0或1。1(默认值)表示是不透明的;0表示是透明的。 (4)BorderStyle属性 设置标签的边框样式。其使用语法如下: Object.BorderStyle[=值] 其中的“值”可以为0或1。0(默认值)表示无边框;1表示单线边框。 (5)Caption属性 设置标签的文本内容。其使用语法如下: Object.Caption[=字符串] (6)WordWrap属性 设置标签的文本在显示时是否自动折行功能。其使用语法如下: Object.WordWrap[=True或False] 其中True表示具有自动折行功能;False(默认值)表示没有自动折行功能。 4.1.2 常用事件和方法 一般很少使用标签事件,标签的方法中常用的只有Move,其基本语法如下: Move left,top,width,height 其中left,top,width,height分别表示移动目的位置的坐标和大小。left为必要参数,其他三个为可选参数。 4.1.3 应用例子 目的:设计一个窗体说明标签的基本应用方法。 首先创建本章工程,在其中添加一个窗体,在该窗体中放置一个标签Label1。该标签的基本属性如下: Name Label1 Caption "中华人民共和国" BorderStyle 1

EAS-BOS常用控件属性方法事件

种类名称说明 CombBox addItem将枚举的值加入下拉列表选项CombBox removeAllItems删除下拉列表的所有选项 CombBox setModel 使用值对象集合给ComboBox控件赋值 DefaultComboBoxModel model = new DefaultComboBoxModel(); ICsAccountTable iAccountTable = CsAccountTableFactory.getRemoteInstance(); CsAccountTableCollection tableInfos = iAccountTable.getCsAccountTableCollection(); CombBox setSelectedItem动态设置下拉列表选择项的值 ComboTreeDetailListUI buildTreeFilter 构造查询子节点(右表)数据的过滤条件,默认实现为在EntityViewInfo中添加一个 getQueryFieldName()=treeNodeInfo的过滤条件,即查询对象的某个属性关联到Tree节点所代表的对象。如果你需要构造的查询条件不是这种形式,则需要重载本方法自行设定过滤条件。 ComboTreeDetailListUI discardQuery刷新Query数据 ComboTreeDetailListUI getDefaultFilterForTree getDefaultFilterForTree()方法,是默认的cu过滤条件

ComboTreeDetailListUI getGroupEditUIModal产生类别编辑UI的方式 ComboTreeDetailListUI getGroupEditUIName指示Tree关联的类别编辑UI对象名,如果界面需要实现类别编辑,则需要重载该方法。ComboTreeDetailListUI getLastSelectedPathCom ponent 返回树结点的值 ComboTreeDetailListUI getLNTreeNodeCtrl若多棵树对应同一个实体,但其中有一个属性区分不同的树,例如科目表和科目类型,则需要重载该方法 ComboTreeDetailListUI getQueryFieldName 点击树上节点时形成过滤条件时的【字段】(右边列表界面调用的Query根据该字段进行过滤),例如地址簿序时簿界面右边的地址列表要依据左边Tree上选中的地址分类而刷新,此处则返回Address.class即可。 ComboTreeDetailListUI getRootName定义一个虚拟根节点的显示名称,默认返回null,即不需要虚拟根节点ComboTreeDetailListUI getSelectedTreeKeyValue子类必须重载实现,否则不能实现定位与移动。

采集器插件开发手册1

火车采集器插件开发手册 1.火车采集器插件使用C#语言开发,用户开发时需要引用Release目录下的super.dll和AppInerFace.dll 两个类库即可。开发的插件需要实现ILocoySpider和ISuperJob 两个接口,程序在运行时会加载并执行插件程序集中的方法。插件的开发细节请查看开发示例。 2.开发插件时需要注意以下几个方法 A.程序集的目标Framework 为.Net Framework 2.0 B.程序集的目标平台为x86 C.插件开发完成后,除插件文本本身外,其它引用的dll文件需要放在采集器的System目录下。本程序引用的super.dll和AppInerFace.dll 文件程序已自带并加密,不需要复制。复制会引起程序运行错误。 我们从接口的源码中解析一下插件中需要实现的各个方法和属性的功能和使用的位置: using System; using System.Collections.Generic; using System.Text; namespace LeWell.Api { ///

///火车采集器采网址,保存内容时的插件 /// public interface ILocoySpider { /// ///是否处理起始网址,如果是,则调用MakeStartAddress方法,对每个起始网址再进行处理 /// bool UseMakeStartAddress { get; } /// ///对起始网址进行处理,即通过每个起始网址生成一个或多个网址链接,并将最终生成的网址做为起始网址。注意这里的起始网址是采集器对起始规则进行解析后生成的新的起始网址。比如我们从生成的真实的递增网址中再生成新的网址。 /// ///单个的起始网址 ///浏览器user-agent ///来源页 ///网页cookie ///如果UseMakeStartAddress,请直接返回空List或null List MakeStartAddress(string urlData,string useragent,string refer,https://www.doczj.com/doc/e62704077.html,.CookieCollection cookie); ///

开源 C++配合大漠插件实现的消息泵模式按键模拟编程

开源C++配合大漠插件实现的消息泵模式按键模拟编程 开发背景:某天正在用OPENGL写一个UI界面库,发现实现过程越来越很有趣,一发不可收拾。 于是想着能不能在逻辑型代码上实现类似界面的那种思维。 花了2天写的,对新手或者老手都是会有帮助的。 这个类库的特点: 逻辑全部封装,你只需要提供要执行的行为,已经行为达到某个触发条件执行特定的事物。执行Execu即可。免去了大量重复的逻辑判断,大量的重复的函数调用。 加载大漠插件避开了COM组件注册表机制,用的WIN32方式加载 示例代码: 代码: DmFindPic PicBaiDu_Open;//点击召唤师资料 DmFindPic PicBaiDu_Yixia;//查找是否有装备设置图标但不点击 PicBaiDu_Open.SetPicName(".\\1.bmp"); PicBaiDu_Yixia.SetPicName(".\\2.bmp"); { PicBaiDu_Yixia.Enable_Click_whileFind(false);//找到图片不点击 PicBaiDu_Yixia.Enable_break_whileFind();//找到了就退出app1 DmABCDEFG_ACTION Yidong; Yidong.SetWay(偏移,100,20); PicBaiDu_Yixia.AddSubDo(&Yidong); DmABCDEFG_ACTION Shuangji; Shuangji.SetWay(双击,NULL); PicBaiDu_Yixia.AddSubDo(&Shuangji); DmABCDEFG_ACTION Shuru; Shuru.SetWay(输入文字,"测试");

金蝶二次开发 K3插件开发 指导手册(初稿)

金蝶 K/3 BOS V10.1插件开发指导手册 金蝶软件(中国)有限公司 2004.9

目录 打个小广告: 金蝶二次开发技术交流QQ群 ①群 30121062 已满 ②群 28307002 未满 ③群待定大家共同学习共同进步 1开发基础 (3) 1.1插件开发概念 (3) 1.2插件开发配置 (3) 2开发指南 (4) 2.1创建一个金蝶K/3 BOS 插件 (4) 2.1.1创建一个金蝶K/3 BOS 客户端事件插件 (4) 2.1.2创建一个金蝶K/3 BOS 中间层事件插件 (9) 2.2自定义金蝶K/3 BOS 标准菜单、工具栏 (11) 2.3添加新的菜单、工具栏 (12) 2.4添加新的事件、方法 (12) 2.5访问中间层和数据库 (12) 2.6保存数据 (12) 3参考 (13) 3.1客户端插件事件、方法、属性 (13) 3.2中间层插件事件 (13) 3.3判断业务对象引用存储过程 (13) 3.4金蝶K/3 BOS数据库结构 (13) 4示例 (13) 4.1XXX (13)

1开发基础 1.1插件开发概念 金蝶K/3运行平台为金蝶K/3 BOS开发的业务单据提供了稳定、标准的运行环境,但为了实现客户更加个性化的需求和保持金蝶K/3 BOS架构的开放性,还为客户化开发提供了插件编程机制:通过金蝶K/3 BOS业务单据和序时簿事件代理组件,把业务单据处理的关键事件接口抛出,客户可以接收这个事件代理组件,并对组件的抛出事件编程,从而实现个性化的事件处理方法,对金蝶K/3 BOS运行平台进行有效的扩充和扩展。 需要注意的是: a) 当前版本的金蝶K/3 BOS支持的插件,仅应用在金蝶K/3的GUI版本,不 支持WEB版本; b) 当前版本的金蝶K/3 BOS支持采用Microsoft Visual Basic 编写的插件,采 用的类型推荐为ActiveX DLL 类型; c) 当前版本的金蝶K/3 BOS支持的插件分为客户端事件插件、中间层事件插 件; 在本手册中,我们所有关于金蝶K/3 BOS插件的定义、描述、示例等,都符合上述3点特征。 1.2插件开发配置 开发、调试金蝶K/3 BOS插件,需要安装: a) 金蝶K/3 客户端部件 b) 金蝶K/3 BOS c) Microsoft Visual Basic(推荐使用v6.0 版本,并且安装SP5) 另外,如果要通过插件在K/3 BOS标准单据、序时簿界面上增加菜单、工具条, 还需要安装: d) Data Dynamics ActiveBar ActiveX v1.0.6.5 同时,我们推荐:

VC大漠实例

MFC VC++ (VS2010) 调用大漠插件实例 小工具源代码: 隐藏鼠标指定的窗口,显示时要求输入密码:119 MiniTool.cpp 部分: // MiniTool.cpp : 定义应用程序的类行为。 // #include "stdafx.h" #include "MiniTool.h" #include "MiniToolDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // CMiniToolApp BEGIN_MESSAGE_MAP(CMiniToolApp, CWinApp) ON_COMMAND(ID_HELP, &CWinApp::OnHelp) END_MESSAGE_MAP() // CMiniToolApp 构造 CMiniToolApp::CMiniToolApp() { // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在InitInstance 中 } // 唯一的一个CMiniToolApp 对象 CMiniToolApp theApp; // CMiniToolApp 初始化 BOOL CMiniToolApp::InitInstance() { // 如果一个运行在Windows XP 上的应用程序清单指定要 // 使用ComCtl32.dll 版本6 或更高版本来启用可视化方式,//则需要InitCommonControlsEx()。否则,将无法创建窗口。

INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // 将它设置为包括所有要在应用程序中使用的 // 公共控件类。 InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); CWinApp::InitInstance(); AfxEnableControlContainer(); // 标准初始化 // 如果未使用这些功能并希望减小 // 最终可执行文件的大小,则应移除下列 // 不需要的特定初始化例程 // 更改用于存储设置的注册表项 // TODO: 应适当修改该字符串, // 例如修改为公司或组织名 SetRegistryKey(_T("MiniTool by liuh")); WinExec("regsvr32.exe dm.dll /s",SW_SHOW);//注册dm.dll,如果dm.dll为当前程序目录相对路径,则直接写dm.dll即可。 CMiniToolDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: 在此放置处理何时用 // “确定”来关闭对话框的代码 } else if (nResponse == IDCANCEL) { // TODO: 在此放置处理何时用 // “取消”来关闭对话框的代码 } // 由于对话框已关闭,所以将返回FALSE 以便退出应用程序, // 而不是启动应用程序的消息泵。 return FALSE; } Dlg.cpp部分: // MiniToolDlg.cpp : 实现文件

金蝶K3 V12.2 BOS插件开发手册

K/3 BOS插件開發手冊 K/3 BOS插件開發手冊 (版本:V12.2) 金蝶軟體(中國)有限公司 K/3產品部 K/3 BOS開發部

目錄 概述 (1) COM (1) K3ClassEvents的物件模型 (1) 使用說明 (1) K3ClassEvents的對象 (2) ListEvents對象參考 (3) DataSrv 屬性 (3) EnableListFillRowEvents 屬性 (4) K3Lib 屬性 (5) List 屬性 (6) ListEntrySort 屬性 (6) ListFilterString 屬性 (7) ListHeadSort 屬性 (7) MenuBar 屬性 (7) MultiCheckMgr 屬性 (8) RsId 屬性 (8) ShowMode 屬性 (9) ShowMsg 屬性 (9) DeleteBill 函數 (9) GetDataFldByKey 函數 (10) GetDataFld 函數 (11) GetCurrentSelRowInfo 函數 (12) GetSelectedBillInfo 函數 (13) LoadSelectedBill 函數 (14) RefreshList函數 (14) SenderMessage 函數 (15) UpdateNormalFld 函數 (16) UpdateNormalFldByKey 函數 (16) RefreshMenu 函數 (17) AfterBatchMultiCheck事件 (17) AfterBusinessCheck 事件 (18) AfterBusinessCheckEx 事件 (18) AfterCopyBillCreateData 事件 (19) AfterDeleteBill 事件 (19) AfterMergeCopyBill事件 (20) AfterMultiCheck 事件 (20) AfterMultiCheckEx 事件 (20) AfterSelList 事件 (21) AfterUnBusinessCheck 事件 (21) AfterUnBusinessCheckEx 事件 (22) AfterUnMultiCheck 事件 (22)

vb中常用控件及其功能

4.1 标签 标签是VB中最简单的控件,用于显示字符串,通常显示的是文字说明信息。但不能编辑标签控件。 使用标签的情况很多,通常用标签来标注本身不具有Caption属性的控件。例如,可用标签为文本框、列表框、组合框等控件来添加描述性的标签。还可编写代码改变标签控件的显示文本以响应运行时的事件。例如,若应用程序需要用几分钟处理某个操作,则可用标签显示处理情况的信息。 4.1.1 常用属性 标签的属性很多,下面介绍几个常用的属性。 (1)Alignment属性 设置标签中文本的对齐方式。其使用语法如下: Object.Alignment[=值] 其中的“值”可以为0,1或2。0(默认值)表示左对齐;1表示右对齐;2表示居中。 (2)AutoSize属性 设置控件是否能够自动调整大小以显示所有的内容。其使用语法如下: Object.AutoSize[=True或False] (3)BackStyle属性

设置标签的背景样式。其使用语法如下: Object.BackStyle[=值] 其中的“值”可以为0或1。1(默认值)表示是不透明的;0表示是透明的。 (4)BorderStyle属性 设置标签的边框样式。其使用语法如下: Object.BorderStyle[=值] 其中的“值”可以为0或1。0(默认值)表示无边框;1表示单线边框。 (5)Caption属性 设置标签的文本内容。其使用语法如下: Object.Caption[=字符串] (6)WordWrap属性 设置标签的文本在显示时是否自动折行功能。其使用语法如下: Object.WordWrap[=True或False] 其中True表示具有自动折行功能;False(默认值)表示没有自动折行功能。 4.1.2 常用事件和方法 一般很少使用标签事件,标签的方法中常用的只有Move,其基本语法如下: Move left,top,width,height 其中left,top,width,height分别表示移动目的位置的坐标和大小。left为必要参数,

中间层插件开发说明

1.代码根据实际情况修改下面 你们的调拨类型如果是自定义,修改FRefType字段名 另外更新规则如果不是这样,修改update语句 Set rs = cn.Execute("Select FName From t_SubMessage Where FInterID =(Select FRefType From ICStockbill Where FInterID = " & CStr(lInterID) & ")") If rs.Fields(0) = "成本调拨" Then cn.Execute ("Update ICStockBillEntry set " & GetSqlFieldEntry("未还回数量", "D01") & " = FQty - isnull(" & GetSqlFieldEntry("已还回数量", "D01") & ",0) Where FInterID = " & CStr(lInterID)) End If 2.工程属性设置好: 3.生成dll,同时有vbr 4.updateobject.exe部署方法: vbr文件放到vbr中,sql放注册插件语句,server里面放dll

中间层服务器运行updateobjects.exe,分别安装server,database 客户端安装vbr时候会提示输入服务器的IP,如果开发在一台机器上就127.0.0.1 5.手动部署方法:如果server2008的中间层服务器,可能updateobject.exe会找不到金蝶 文件夹,可以手动部署: Sql直接sqlserver执行; Dll拷贝到任意目录,然后拖拽到组建管理的ebok3包 客户端Vbr还是可以用updateobject在客户端注册 6.调试方法 代码不好走断电调试,可以用err.raise 凑合做调试 如果报错了,重新生成dll,k3会占用无法覆盖dll,那么关闭k3客户端,然后进程里面删除所有dllhost中所有者是network的。

iWebShop插件开发手册

iWebShop插件开发手册 V4.4 2016-03-20

目录 概述 (3) 拦截器(钩子) (3) 插件核心类plugin.php (3) 插件内置钩子事件 (3) 插件注册接口reg (5) 事件触发接口trigger (5) 插件基类公开接口 (6) 插件存放目录 (7) 开发插件类文件 (7) 插件视图引入 (11)

概述 此文档仅适合对iWebShop整体架构和开发模式比较了解,并且有一定php技术经验的开发人员,此文档专业性比较强,不适合非技术类人员阅读。 iWebShop从V4.4版本开始全面支持插件机制,插件是什么东西?总体来说,插件是一种可以热插拔的(动态安装和卸载),可以实现一定功能性并且对目前现有运行系统不会产生任何影响的一种松散耦合的设计模式,它内容丰富,而且易扩展,可以有更多的开发者参与进来,让产品自身的功能更加丰富多彩,它也可以通过动态的安装组合,实现不同的产品架构。 拦截器(钩子) 说到插件就不得不提到钩子,插件之所以能够动态的加载到系统运行的各个环节中,主要是依赖于钩子,什么是钩子呢?钩子就是iWebShop系统在运行中预留的一些事件函数,我们把插件注册(挂接)到iWebShop的某个事件上面,当iWebShop运行到这个事件的时候就会自动触发并且调用插件,只有明白了这个原理,我们才能继续下面的开发,关于更多钩子机制,可以百度学习一下。 iWebShop为开发者预留的大量的钩子,同时也支持开发者自己定义钩子事件,下面介绍一下系统都预留了哪些钩子可以让开发者使用。这些钩子的调用和触发都在插件的核心管理类中,下面会重点介绍! 插件核心类plugin.php classes/plugin.php是插件的核心类,所有插件的注册,调用,配置等等都必须要依靠它! 插件内置钩子事件 在核心插件类里面有系统内置的所有钩子,如图: 整个系统会在各自的地方调用预留的钩子,这些钩子就是让插件工作起来的源动力!

Jenkins插件开发手册

Jenkins插件开发 搭建开发环境 为了能开发插件,开发环境需要安装Maven和JDK 6.0以上版本。 1、安装JDK 打开cmd,输入java –version 如下图,说明安装完成。 图1 2、安装Maven 1.下载Maven 如下图: 图2 将安装包解压到任意地址,我的路径是D:\apache-maven-3.0.5 新建环境变量M2_HOME 指向D:\apache-maven-3.0.5 在path添加路径%M2_HOME%\bin 打开cmd 输入mvn –v, 如下图: 图3 安装成功。 给eclipse安装插件m2eclipse。

1、打开eclipse 2、Help-Install New Software出现下图: 图4 3、点击Add 图5 在name输入m2e 在Location输入 4、确定后出现下图: 图6 5、勾选Maven Integration for Eclipse 6、然后一直下一步直到安装完毕 7、检查是否安装成功 (1)点击Help – about eclipse – installation details,看是否存在Maven Integration

for Eclipse(Required),如下图: 图7 (2)再检查eclipse是否可以创建Maven项目了,File-New-Other 图8 到此Maven安装完成了。 3、安装jenkins 下载jenkins 将jenkins.war,拷贝到D:\jenkins下,打开cmd,转到D:\jenkins目录下然后运行java –jar jenkins.war 最后出现jenkins is fully up an running。说明安装成功。 访问

VB常用控件的方法详细讲解

VB常用控件的方法详解.txt3努力奋斗,天空依旧美丽,梦想仍然纯真,放飞自我,勇敢地飞翔于梦想的天空,相信自己一定做得更好。4苦忆旧伤泪自落,欣望梦愿笑开颜。5懦弱的人害怕孤独,理智的人懂得享受孤独VB常用控件的方法详解 BASIC是属于高级程序语言的一种,英文名称的全名是"Beginner's All-Purpose Symbolic Instruction Code",取其首字字母简称"BASIC",就名称的含意来看,是「适用于初学者的多功能符号指令码」,是一种在计算机发展史上应用最为广泛的程序语言。 微软公司也在MS-DOS时代即推出Quick BASIC,在Windows开始流行的时候,微软公司推出Visual Basic for Windows成为Windows作业环境一枝独秀的易学易用程序语言。 Visual Basic是开发 Microsoft Windows 应用程序的最快方法。不论是对 Microsoft Windows 应用程序的专业开发者还是初学者来说,Visual Basic 都是一套不可多得的快速开发应用程序。它提供的控件可以轻松的"画"出应用程序的友好界面,使软件的开发工作不再枯燥无味。 在VisualBasic语言中,控件是用户界面的基本要素,是进行可视化程序设计的重要基础,它不仅关系到界面是否友好,还直接关系到程序的运行速度以及整个程序的好坏。每个控件都具有它的属性、方法和事件,要开发一个好的程序,不仅需要掌握控件的属性和事件,也要掌握它的方法。控件具有很多相同的方法,各个控件也有其特有的一些方法。 VisualBasic中的控件分为两种,即标准控件(或部控件)和ActiveX控件。部控件是工具箱中的"常驻"控件,始终出现在工具箱里,而ActiveX控件是扩展名为.ocx的文件(在Windows\System文件夹里),它是根据变成需要添加到工具箱里的。 在一般情况下,工具箱里只有标准控件,为了把ActiveX控件添加到工具箱里,可按以下步骤执行: (1)在菜单里选择"工程-部件",弹出"部件"对话框; (2)在对话框中选择"控件"选项卡,显示ActiveX控件列表; (3)在列表框中找到需要添加的控件名称,单击控件名称左侧的复选框; (4)使用同样的方法选择需要添加的其它控件; (5)单击"确定"按钮,即可将所选ActiveX控件添加到工具箱里。 第一章、标准控件的方法 1.01 窗体(Form)方法 1.02 文本框控件(Text)的方法 1.03 标签控件(Label)的方法 1.04 框架控件(Frame)的方法 1.05 命令按钮控件(Command)的方法 1.06 复选钮控件(Check)的方法 1.07 单选钮控件(Option)的方法 1.08 组合框控件(Combo)的方法 1.09 列表框控件(List)的方法 1.10 滚动条控件(HScrollBar和VScrollBar)的方法 1.11 文件系统(File System)控件的方法 1.12 形状控件(Shape)的方法 1.13 直线控件(Ling)的方法 1.14 图片框控件(Picture)的方法 1.15 图象控件(Image)的方法 1.16 数据控件(Data)的方法

BHO插件开发入门

目录 一,BHO开发概述 (2) 1.1BHO的用途及实际应用 (2) 1.2BHO的工作原理及技术环境 (2) 二,框架设计 (3) 2.1构建BHO框架 (3) 2.2实现IO BJECT W ITH S ITE的接口方法 (5) 三,注销SESSION (6) 3.1将BHO注册为浏览器的事件处理器 (6) 3.2监听浏览器关闭事件,并向S ERVER发送跳转指令 (7) 3.3关闭BHO注销页面 (8) 3.4阻止文件浏览器加载BHO (9) 3.5向注册表中注册BHO组件 (9) 四,打包发布 (10) 4.1BHO打包和找到关联D LL文件 (10) 4.2编写自动安装脚本INF文件 (11) 4.3用CABARC工具打包。 (12)

一,BHO开发概述 1.1 BHO的用途及实际应用 BHO(Browser Help Objects),是实现了特定接口的COM组件。BHO只适用于Windows系统下 的IE浏览器和文件浏览器。开发好的BHO插件在注册表特定的位置注册好后,每当微软的浏览器启动,BHO实例就会被创建。在浏览器工作的过程中,BHO会接收到很多事件,比如浏览器浏览新的地址、前进或后退、生成新的窗口、浏览器退出等等。BHO可以在这些事件的响应中实现与浏览器的 交互。 本文档中我们将通过编写一个BHO实例来详细讲解BHO开发的一般流程。该实例的功能是:当 用户成功登陆网站后,如果用户点击IE关闭按钮,BHO将捕获IE关闭事件,同时向Server发送一 个注销当前用户Session的请求。Server注销后跳转到BHO注销页面,BHO捕获到BHO注销页面时, 关闭该页面。 1.2 BHO的工作原理及技术环境 BHO是COM组件,而且一定实现了IObjectWithSite接口。这些组件除了在注册表中注册为COM Server外,还必须将它们的CLSID在HKEY_LOCAL_MACHINE\SOFTWARE\ Windows\ CurrentVersion\ Explorer\Browser Helper Objects下注册为子键。微软在设计浏览器的时候,已经给这些组件预

相关主题
文本预览
相关文档 最新文档