📄 (dll)_myvc
字号:
*************************************************************************************************
* *
* Semaphore *
* 信号灯结构 *
* *
*************************************************************************************************
//位置: myvc.cpp
//———————————————————————————————————————————————
typedef struct sem_st { //信号灯单元结构
char chn_value[10]; //语音卡通道(端口)状态值
char app_id[10]; //应用程序ID
char txt[TXT_LEN]; //屏显信息
} SEMAPHORE;
/////////////////////////////////////////////////////////////////////////////
//导出函数说明
extern "C" _declspec ( dllexport ) void WinPrintf(char *szFormat, ...);
/*************************************************************
Function: trimstr()
删除字符串前后的空格
*************************************************************/
extern "C" _declspec ( dllexport ) void trimstr(char * str, char * output);
/*************************************************************
Function: upstring()
将字符串转换成大写
*************************************************************/
extern "C" _declspec ( dllexport ) void upstring(char * str, char * output);
/************************************************************
* NAME: GetScreenShowWindow()
* DESCRIPTION: 返回显示程序(即主控程序)的窗口句柄
*
************************************************************/
extern "C" _declspec ( dllexport ) HWND GetScreenShowWindow();
/***************************************************************
*
* 函数 CreateSemaphoneFile( char * s_number)//s_number 信号灯个数
* 说明:在内存中创建一共享文件
*
***************************************************************/
extern "C" _declspec ( dllexport ) int PASCAL CreateSemaphoneFile(char * s_number);
/****************************************************************************
函数: int SetSemaphoneFile(char * v_index, char * key, char * v_value)
说明:给初始化文件赋值
index : 信号灯位置(取值 1 .. 30)
key : 项目 (取值 "chn_value", "app_id", "txt")
value : 用于赋值的变量
****************************************************************************/
extern "C" _declspec ( dllexport ) int PASCAL SetSemaphoneFile(char * v_index, char * key, char * v_value);
/****************************************************************************
函数: int ReadSemaphoneFile(char * v_index, char * v_key)
说明:给初始化文件赋值
index : 信号灯位置(取值 1 .. 30)
key : 项目 (取值 "chn_value", "app_id", "txt")
****************************************************************************/
extern "C" _declspec ( dllexport ) LPVOID PASCAL ReadSemaphoneFile(char * v_index, char * v_key);
//t_sys_app内定义app_id 的类型
/****************************************************************************
*
函数: int CloseSemaphoneFile()
说明: 删除信号灯文件
*
* 目前还不能关闭文件
*
****************************************************************************/
extern "C" _declspec ( dllexport ) int PASCAL CloseSemaphoneFile(void);
/****************************************************************************
函数: int DiskSemaphoneFile(char * diskfile)
说明 :将信号灯文件写成磁盘文件
diskfile : 写入的磁盘文件
****************************************************************************/
extern "C" _declspec ( dllexport ) int PASCAL DiskSemaphoneFile(char * diskfile);
所有的屏显信息都通过信号灯文件的屏显字段txt传递。现在定义传递机制如下:
(1)主控程序接收到 WM_ShowChannelMsg=1127消息,根据wParm指示的端口值,读取semaphore的
屏显信息。
(2)lParm消息参数则另有定义:
lParm = 0 请求显示的消息,请根据semaphore的屏显信息显示之。
lParm = 1 清除全部显示的信息。
lParm = 2 受理结束的信息,主控程序此时可以将受理写入日志。
(3)TXT屏显有特殊的结构
“_USER[]_STATE[]_TELE[]_BEGIN[]_END[]”
_USER[] :[]内是用户请求信息
_STATE[] :[]内是状态信息
_TELE[] :[]内是主叫号码
_BEGIN[] : [] 内是电话呼入时间
_END[] : [] 内是受理结束时间
催缴程序使用同样的机制。
_USER[] :[]用户摘挂机状态
_STATE[] :[]状态信息
_TELE[] :[]催缴号码
_BEGIN[] : [] 电话呼出时间
_END[] : [] 催缴结束时间
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -