首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

c# asp.net是怎么 获取外部设备的消息

2013-12-19 
c# asp.net是如何 获取外部设备的消息?这几个消息在 asp.net 里如何获得吗?有一个录音电话耳机,在它提供的

c# asp.net是如何 获取外部设备的消息?
这几个消息在 asp.net 里如何获得吗?有一个录音电话耳机,在它提供的函数进行二次开发,
我已经可以从PC上发送指令到Phone,如果挂断电话的时候Phone会发送一个消息到PC,asp.net是如何获取此消息的,哪位大侠给指点以下!!!!!
以下是此设备的API 函数说明


#ifndef _USBDLL_H_
#define _USBDLL_H_

// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the USBDLL_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see 
// USBDLL_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
#ifdef USBDLL_EXPORTS
#define USBDLL_API __declspec(dllexport)
#else
#define USBDLL_API __declspec(dllimport)
#endif


#include <wtypes.h>
#include <initguid.h>

#defineRECORD_LOCAL 0
#defineRECORD_TALK  1
#defineRECORD_LY    2
// the following functions' definition and macros' definition are the APIs for USB protocol

//----from Phone to PC--------------------------

/*
//设备连接时发此消息(指USB线与PC和终端电话都连接好).
//参数wParam:(BYTE)序号;  lParam: 0L.
*/
#define WM_DEVICECONNECT WM_USER+701

/*
//设备断开时发此消息(指USB线与PC或终端电话的任一方断开时发此消息).
//参数wParam:(BYTE)0L--全部断开;  lParam: 0L.
//                  1L--断开一台话机;  lParam: (BYTE)序号
*/
#define WM_DEVICEDISCONNECTWM_USER+702

/*
//呼叫建立,即摘机时发送此消息. 
//参数wParam:(BYTE)序号;  lParam: 0L.
*/
#define WM_OFFHOOKWM_USER+703

/*
//呼叫断开,即挂机时发送此消息. 
//参数wParam:(BYTE)序号;  lParam: 0L--挂机,1L--终端在保留的状态下按免提键退出了保留.
*/
#define WM_ONHOOKWM_USER+704

/*
//来电时发送来电号码.
//参数wParam:(BYTE)序号;   lParam:char*.
//普通的号码长度>1;如果长度是1,号码是2,那代表“出局”,号码是1,那代表“保密”。
*/
#define WM_CALLERIDWM_USER+705

/*
//来电响铃发此消息.
//参数wParam:(BYTE)序号;    lParam: (BYTE)0x01—表示一次铃声响;0x00—表示此次铃声结束
*/
#define WM_RINGWM_USER+706

/*
//通话过程中,收到本端DTMF键值时,发此消息.
//参数wParam: (BYTE)序号;lParam: char.
*/
#define WM_KEYWM_USER+707

/*
//留言过程中,话机接听电话,停止留言,发此消息.
//参数wParam: (BYTE)序号;lParam: 0L.
*/
#define WM_STOPLYWM_USER+708

/*
//通话过程中,收到话机按“静音”键
//参数wParam: (BYTE)序号;lParam: (BYTE)0x01--静音开启;0x00--静音关闭.
*/
#define WM_MUTEWM_USER+709



extern "C" {
//---------from PC to Phone-------------------------
// 若无说明,则返回 0 代表成功
USBDLL_API int _stdcall InitDll();//初始化,仅调用一次

USBDLL_API int _stdcall OffHookCtrl(int iDevIdx);//发送摘机命令

USBDLL_API int _stdcall HangUpCtrl(int iDevIdx);//发送挂机命令

USBDLL_API int _stdcall StartDial(int iDevIdx,const char* szDest);//发送拨号命令

USBDLL_API int _stdcall Bell(int iDevIdx,BYTE mode);//设置振铃开或关,mode: 0--关闭; 1--打开

USBDLL_API int _stdcall SendDTMF(int iDevIdx,const char* szDTMF);//与StartDial功能相似,供二次拨号用

USBDLL_API int _stdcall BindWindow(HWND hwnd);//绑定窗口,所有事件发送到此窗口,初始化时调用;系统接收消息 WM_DEVICECHANGE 后调用此函数

USBDLL_API int _stdcall UnBindWindow();//解除窗口绑定, 则所有事件将不会发送到此窗口,窗口销毁时调用此函数

USBDLL_API int _stdcall QueryPhoneStatus(int iDevIdx);//查询话机摘挂机状态 0->挂机,1->摘机

USBDLL_API int _stdcall setLocalRecord(int iDevIdx,BOOL rec);//本地录放音,开 pc 时, rec: false--关闭;true--打开 

USBDLL_API int _stdcall setTalkRecord(int iDevIdx,BOOL rec);//通话录音,rec: false--关闭;true--打开 

USBDLL_API int _stdcall setLeaveRecord(int iDevIdx,BOOL rec);//留言录音,rec: false--关闭;true--打开 

USBDLL_API int _stdcall GetSerialNo(int iDevIdx, char * number);//获取序列号

USBDLL_API int _stdcall SetSerialNo(int iDevIdx, const char * number);//设置序列号

USBDLL_API int _stdcall Flash(int iDevIdx,UINT ivalue);//闪断一下,ivalue--Flash操作的时间长度,取值为0--100ms,1--180ms,2--300ms,3--600ms,4--1000ms之间。

USBDLL_API int _stdcall SetDialTone(int iDevIdx,BYTE mode);//设置拨号音开或关,mode: 0--关闭; 1--打开

USBDLL_API int _stdcall SetAutoAnswer(int iDevIdx,BYTE mode);//设置自动接听开或关,mode: 0--关闭; 1--打开

USBDLL_API int _stdcall SetFlashTime(int iDevIdx,UINT ivalue);//设置Flash值, ivalue 取值为0--100ms,1--180ms,2--300ms,3--600ms,4--1000ms之间

USBDLL_API int _stdcall SetOutcode(int iDevIdx, const char * code);//设置出局码,最多3位



USBDLL_API int _stdcall StartRecordFile(int iDevIdx, const char* strFileName, int iType);//开始录音操作, strFileName: 录音文件名,完整的路径
//如:"C:\\record\\sound.wav"。iType: 录音类型:0:本地录音;1:通话录音;2:留言录音

USBDLL_API int _stdcall StopRecordFile(int iDevIdx);//停止录音

USBDLL_API int _stdcall ZhuanBo(int iDevIdx,UINT ivalue);//转拨闪断一下,ivalue--转拨操作的时间长度,取值为0--100ms,1--180ms,2--300ms,3--600ms,4--1000ms之间。

USBDLL_API int _stdcall Hold(int iDevIdx, BOOL bOn);//bOn--1:开启保留;0:关闭保留

USBDLL_API int _stdcall Mute(int iDevIdx, BOOL bOn);// bOn->1:开启闭音;0:关闭闭音;
}
#endif 友情帮顶!
[解决办法]
不研究这个方面,但是同关注下!!!
[解决办法]
实在不行,就asp.net定时去读取这个方法吧

热点排行