PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
22852 | 06/11/24 20:34:47 | PB6.5: WindowsXP上でのダイヤラ(TAPI32.DLL)のコールについて By igosso |
カテゴリ:PowerBuilderの開発環境
日付:2006年11月24日 20:34 発信者:igosso
題名:PB6.5: WindowsXP上でのダイヤラ(TAPI32.DLL)のコールについて
ある顧客管理システムを構築しまして、顧客情報画面から、
「電話する」ボタンをクリックすると、Windowsのダイヤラを
起動し、表示された顧客情報の電話番号に自動でダイヤルを
かける、というシステムを開発しております。
スクリプトとしては以下のとおりです。
1.グローバル外部関数で
FUNCTION int GetSystemMetrics(int indexnum) LIBRARY \"USER32.DLL\"
を宣言
2.ローカル関数に
/* External RAS API function prototypes. */
Function ULONG tapiRequestMakeCall( string dial, string app, string CallParty, string Comment)
LIBRARY \"TAPI32.DLL\"
を宣言したオブジェクト(n_tapi_32)を作成
3.n_tapi_32オブジェクト内のユーザオブジェクト関数(of_dial)に
long ll_Ret
ll_Ret = tapiRequestMakeCall( CallNum, \"\", \"\", \"\")
RETURN ll_Ret
と記述
4.顧客管理画面(ウィンドウオブジェクト)のボタン内で、
inv_tapi.of_dial( tel_num, \"\", \"\", \"\" )
のようにコール
以上のような手順です。
今までWindows98SEでは、上記の処理で問題無くダイヤルできて
いたのですが、WindowsXP上で動かすようになってから、
上手く動作しません。
症状としては、
ダイヤラ(dialer.exe)は起動し、ダイヤル処理は走るが、
\"電話\"と\"インターネット通話\"とあり、インターネット通話
のほうで処理が走ってしまいます。
これを、インターネット通話ではなく、通常の電話で、呼び出す
処理を走らせたいのですが、この方法をご存知の方はいらっしゃい
ますでしょうか。
おそらく、tapiRequestMakeCall内のパラメータの何かを
ある値に変えれば良いのだと思いますが、この関数の情報が
見つかりにくく、苦戦しております…。
恐れ入れいますが、どなたかご教授いただけないでしょうか。
よろしくお願いします。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows XP
DBMS Oracle Net8
Browser (記載なし)
Server SoftWare
OS Windows NT 4.0
DBMS Oracle8i
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.