------------ Дoбавленo в 16.35:
офф статья от создателя vbicq3 (karas).
http://www.xaker.name/forvb/showthread.php?t=14099
------------ Дoбавленo в 02.15:
CriDos писал(а):
p.s. ещё не тестил.протестил, вроде багов пока не заметил да и стабильнее прежних версий...
------------ Дoбавленo в 03.05:
собственно выдрал функционал:
//vbicq
//Version: 1.0
vbicq;
GUID = {0FFC32DF-48A5-4CED-9F0E-51CD2A359086};
Dispatch _vbicq3;
GUID = {9609B799-2FD2-4CC2-99DB-3F8D2BF9ADD4};
function QueryInterface(riid: ^GUID; out ppvObj: ^^VOID); stdcall;
function AddRef: UI4; stdcall;
function Release: UI4; stdcall;
function GetTypeInfoCount(out pctinfo: ^UINT); stdcall;
function GetTypeInfo(itinfo: UINT; lcid: UI4; out pptinfo: ^^VOID); stdcall;
function GetIDsOfNames(riid: ^GUID; rgszNames: ^^I1; cNames: UINT; lcid: UI4; out rgdispid: ^I4); stdcall;
function Invoke(dispidMember: I4; riid: ^GUID; lcid: UI4; wFlags: UI2; pdispparams: ^DISPPARAMS; out pvarResult: ^Variant; out pexcepinfo: ^EXCEPINFO; out puArgErr: ^UINT); stdcall;
property-get IcqServer: BSTR; stdcall;
property-put IcqServer(: BSTR); stdcall;
property-get IcqPort: I4; stdcall;
property-put IcqPort(: I4); stdcall;
property-get uin: BSTR; stdcall;
property-put uin(: BSTR); stdcall;
property-get Pass: BSTR; stdcall;
property-put Pass(: BSTR); stdcall;
function CloseConnection; stdcall;
function login(out status: ^vbicq_IcqStatus; out Client: ^BSTR); stdcall;
function SendMessage(m_uin: BSTR; m_msg: BSTR); stdcall;
function KeepAlive: Bool; stdcall;
function SetStatus(s_status: vbicq_IcqStatus); stdcall;
function Utf82Ascii(strM: BSTR): BSTR; stdcall;
function PrintingStart(out uin: ^BSTR); stdcall;
function PrintingEnd(out uin: ^BSTR); stdcall;
function SendYouAdded(out uin: ^BSTR); stdcall;
function SendAutorizationRequest(out uin: ^BSTR; out Msg: ^BSTR); stdcall;
function SendAddMe(out uin: ^BSTR; out Msg: ^BSTR); stdcall;
function SendOkAutorization(out uin: ^BSTR); stdcall;
function SendNoAutorization(out uin: ^BSTR); stdcall;
function CheckStatus(out uin: ^BSTR); stdcall;
function AboutControl; stdcall;
CoClass vbicq3;
GUID = {DE084210-6548-486F-89B1-F0C24E7C9EBE};
Dispatch __vbicq3;
GUID = {AD9EB67A-B171-4836-98C3-E2591C347721};
function ControlMessage(data: BSTR); stdcall;
function ControlError(data: BSTR); stdcall;
function Connected; stdcall;
function MsgRecv(out uin: ^BSTR; out Msg: ^BSTR); stdcall;
function AutorizationRequest(out uin: ^BSTR; out Msg: ^BSTR); stdcall;
function SendOk(out uin: ^BSTR); stdcall;
function AutorizeOk(out uin: ^BSTR); stdcall;
function AutorizeNo(out uin: ^BSTR); stdcall;
function YouAdded(out uin: ^BSTR); stdcall;
function StatusRecv(out uin: ^BSTR; out status: ^vbicq_IcqStatus; out clientID: ^BSTR); stdcall;
function xStatusRequest(out uin: ^BSTR); stdcall;
Enum vbicq_IcqStatus;
GUID = {E0C5163D-F87D-4B54-A382-A59FB8FD47AE};
//online
online = 0;
//invisible
invisible = 256;
//away
away = 1;
//NA
NA = 4;
//Occupied
Occupied = 16;
//DND
DND = 2;
//FFC
FFC = 32;
//eat
eat = 8193;
//working
working = 24576;
//home
home = 20480;
//depr
depr = 16384;
//cruel
cruel = 12288;
Enum ErrorConstants;
GUID = {BB3B46CC-6E4E-4B71-A303-B3B3A01C0155};
//sckAddressInUse
sckAddressInUse = 10048;
//sckAddressNotAvailable
sckAddressNotAvailable = 10049;
//sckAlreadyComplete
sckAlreadyComplete = 10037;
//sckAlreadyConnected
sckAlreadyConnected = 10056;
//sckBadState
sckBadState = 40006;
//sckConnectAborted
sckConnectAborted = 10053;
//sckConnectionRefused
sckConnectionRefused = 10061;
//sckConnectionReset
sckConnectionReset = 10054;
//sckGetNotSupported
sckGetNotSupported = 394;
//sckHostNotFound
sckHostNotFound = 11001;
//sckHostNotFoundTryAgain
sckHostNotFoundTryAgain = 11002;
//sckInProgress
sckInProgress = 10036;
//sckInvalidArg
sckInvalidArg = 40014;
//sckInvalidArgument
sckInvalidArgument = 10014;
//sckInvalidOp
sckInvalidOp = 40020;
//sckInvalidPropertyValue
sckInvalidPropertyValue = 380;
//sckMsgTooBig
sckMsgTooBig = 10040;
//sckNetReset
sckNetReset = 10052;
//sckNetworkSubsystemFailed
sckNetworkSubsystemFailed = 10050;
//sckNetworkUnreachable
sckNetworkUnreachable = 10051;
//sckNoBufferSpace
sckNoBufferSpace = 10055;
//sckNoData
sckNoData = 11004;
//sckNonRecoverableError
sckNonRecoverableError = 11003;
//sckNotConnected
sckNotConnected = 10057;
//sckNotInitialized
sckNotInitialized = 10093;
//sckNotSocket
sckNotSocket = 10038;
//sckOpCanceled
sckOpCanceled = 10004;
//sckOutOfMemory
sckOutOfMemory = 7;
//sckOutOfRange
sckOutOfRange = 40021;
//sckPortNotSupported
sckPortNotSupported = 10043;
//sckSetNotSupported
sckSetNotSupported = 383;
//sckSocketShutdown
sckSocketShutdown = 10058;
//sckSuccess
sckSuccess = 40017;
//sckTimedout
sckTimedout = 10060;
//sckUnsupported
sckUnsupported = 40018;
//sckWouldBlock
sckWouldBlock = 10035;
//sckWrongProtocol
sckWrongProtocol = 40026;