JulMar (https://atapi.codeplex.com/)의 TAPI 2.0 래퍼를 사용하고 있는데 문제가 있습니다.Atapi CallInfoChangeEvent가 실행되지 않았습니다.
void initTAPI()
{
myTAPI = new TapiManager("GetCaller");
if (!myTAPI.Initialize())
{
MessageBox.Show("FAILED!");
}else
{
name = myTAPI.Lines[0].Name;
lineName = (myTAPI != null && myTAPI.Lines.Length > 0 ? name : string.Empty);
foreach(TapiLine line in myTAPI.Lines)
{
line.NewCall += this.OnNewCall;
line.Ringing += this.OnRinging;
line.CallStateChanged += this.OnCallState;
line.CallInfoChanged += this.OnCallInfo;
}
MessageBox.Show(lineName);
}
}
초기화는 그래서 lineName
를 얻을. 내가 지금 프로그램을 통해 전화를 걸 때
OnCallState
private void OnCallState(object sender, CallStateEventArgs e)
{
if (InvokeRequired == true)
{
this.BeginInvoke(new EventHandler<CallStateEventArgs>(this.OnCallState), new object[] { sender, e });
return;
}
label1.Text = "Outgoing Call...";
}
는하지만 실제로하고 싶은 것은 걸려 오는 전화의 수를 얻을 수 있습니다 화재 있지만, OnCallInfo
은 해고하지 않습니다.
private void OnCallInfo(object sender, CallInfoChangeEventArgs e)
{
if (InvokeRequired == true)
{
this.BeginInvoke(new EventHandler<CallInfoChangeEventArgs>(this.OnCallInfo), new object[] { sender, e });
return;
}
label1.Text = "Incoming Call...";
}
OnCallInfo 그것은 단지 86와 함께 작동, somehwere 말한다, 그래서 대상하지만 여전히 성공을 바 꾸었습니다.
추 신 : 동일한 컴퓨터에 콜 매니저 (ProCall)가 설치되어 있는데, 누군가가 전화를하면 알려주기 때문에 C#으로 정보를 얻을 수 있어야합니다.
당신이'lineGetCallInfo'처럼 어떻게 보일지 공유시겠습니까 읽어? 나는 C#의 Listeners에도 상당히 익숙하다. 감사! – PrimuS