PDA

View Full Version : [Q] giao tiếp với chương trình khác



pioneer
04-11-2002, 14:36
Tôi đang sử dụng một chương trình .exe. (pc-telephone). Có thể cho tôi biết nếu muốn viết một chương trình bằng Vb or Vc để giao tiếp với ctrình pc-telephone thì cần phải làm gì.

tôi muốn user chạy chương trình do tôi viết (vb or vc) và ctrìng pc-telephone chạy background .

ví dụ : khi tôi nhập để quay số thì ctrình do tôi viết cũng giao tiếp với chương trình pc-telephone kia.

mong nhận sư giúp đỡ.

patfinder
04-11-2002, 20:29
Theo minh thì để viết chương trình giao tiếp với PC-telephone (PCT) thi bạn phải nghi thức giao tiếp mà PCT hỗ trợ hoặc các hàm thư viện (DLL) mà nó hỗ trợ.

Mong nhận được các ý kiến đóng góp của các bạn.

pioneer
05-11-2002, 15:28
Thực sự thì tôi cũng biết điều đó, but client yêu cầu tôi dùng PCT chạy background. và dùng ct do tôi để interact với PCT. Để quản lý việc nhân viên của họ sử dụng PCT trong bao lâu và .... (PCT chỉ là một file .exe ngoài ra không hổ trợ gì thêm)

PCT hiển thị một Phonebar dialog bao gồm một text để nhập số, vào các phonepad có các button để nhập số và các dial up , hang up , stop buttons.

Có thể dùng cách nào để send keys, or send messages lên Phonebar dialog này không.

Tôi đã viết thử một chương trình gọi calculator và dùng sends keys để thao tác với calculator. but Phonebar dialog này lại không hổ trợ thao tác bàn phím.

Mong cao kiến.

bpmtri
05-11-2002, 15:45
Nếu không hỗ trợ thao tác bàn phím thì bạn có thể tìm các button có phải là cửa sổ hay không (dùng Spy++)? Nếu là cửa sổ thì Class của nó là gì? Tìm được handle của các button đó thì bạn có thể gửi các MOUSE message để giả lập người sử dụng click lên các button đó...

Mình chỉ có chút ý kiến vậy thôi.

pioneer
06-11-2002, 08:43
Thanks a lot. I try to do your way.

loveoflife
07-11-2002, 08:16
Chào pioneer,

Để giả lập các thao tác của user lên chương trình, bạn có thể bật Spy++ (hoặc 1 ct tương đương) và chương trình PCT lên. Trong Spy++ bạn quan sát các message WM_COMMAND của PCT. Sau đó lần lượt click thử các button của PCT và ghi lại thông số của các msg WM_COMMAND tương ứng. Khi cần giả lập, bạn chỉ cần tóm được handle của của sổ chính của PCT và sau đó send các msg WM_COMMAND cần thiết. Cách này tốt hơn cách giả lập MOUSE hay phím tắt.

Ngoài ra, bạn cũng có thể tóm các msg của PCT (để khi người dùng click Start trên PCT thì bắt đầu tính thời gian, khi Stop thì dừng chẳng hạn), bạn có thể hook các msg của PCT, định hướng vào chương trình của bạn để xử lý trước.

Tôi biết có 1 thư viện gọi là API HOOK, theo như giới thiệu thì nó cho phép 1 chương trình chạy 1 hàm trong process của ct khác, hoặc thay thế 1 hàm (có export hay không) của 1 ct khác bằng 1 hàm tuỳ ý của mình. Tôi cũng chưa thử nhưng nếu như thế thật thì tuyệt.

loveoflife

pioneer
13-11-2002, 15:28
I finished my app. If you need this source , I can send it for you.