Thực hành điều khiển VnVoice
+16
NguyenNgocThuan76_113A
nguyendangnguyen43(i13a)
QuachVinhTuong (113A)
LeDangBaoNgoc55 (113A)
vutanthanh68 (113A)
NguyenVuLinh12053_I11C
MaiThiHongTham70 (113A)
tranminhtrong (11A3)
nguyenchithuc(113A)
LeQuocVan (113A)
TranThiThuyQuyen (113A)
TruongDacTon87_(I13A)
DangThiKimKhanh (113A)
NguyenHuuLinh31(113A)
LeLamThang (113A)
Admin
20 posters
Trang 1 trong tổng số 2 trang
Trang 1 trong tổng số 2 trang • 1, 2
Thực hành điều khiển VnVoice
Tham khảo các bài của I12A
Đọc thêm: Lập trình tương tác bằng VB6
Lấy về: VnVoice 1.0
Codes:
.............................................................................
Đọc thêm: Lập trình tương tác bằng VB6
Lấy về: VnVoice 1.0
Codes:
.............................................................................
Được sửa bởi Admin ngày 9/8/2012, 08:20; sửa lần 4.
Re: Thực hành điều khiển VnVoice
link và post image trong forum bị gì rồi
LeLamThang (113A)- Tổng số bài gửi : 35
Join date : 15/02/2012
Re: Thực hành điều khiển VnVoice
Vẫn chưa thấy được link thưa Thầy.
NguyenHuuLinh31(113A)- Tổng số bài gửi : 33
Join date : 19/07/2012
Re: Thực hành điều khiển VnVoice
Cac ban go thu tim trang laptrinhtuongtac ....Minh thay co mot so bai huong dan ve Vn Voice ...Cac ban co the tham khao truoc o do .!!!! thanks!
DangThiKimKhanh (113A)- Tổng số bài gửi : 32
Join date : 18/07/2012
Re: Thực hành điều khiển VnVoice
Mình có được Code về Lập Trinh VnVoice cua cac bạn khoá trước...các bạn xem góp ý giúp mình với nha..
NguyenHuuLinh31(113A)- Tổng số bài gửi : 33
Join date : 19/07/2012
Re: Thực hành điều khiển VnVoice
Link đúng là không thấy được nhưng các bạn có thể dùng google search mà
http://lmgtfy.com/?q=vnvoice
http://lmgtfy.com/?q=vnvoice
TruongDacTon87_(I13A)- Tổng số bài gửi : 13
Join date : 21/07/2012
Re: Thực hành điều khiển VnVoice
Tham khảo: Lập trình tương tác bằng VB6: http://www.pcworld.com.vn/hoi-dap/lap-trinh/2009/10/1215596/lap-trinh-tuong-tac-bang-vb6/
Lấy về: VnVoice 1.0: http://www.fileden.com/files/2008/5/25/1928713/Tools/vnvoicedemo.zip
Codes:
Mình lấy theo bài của thầy không biết các bạn xem thử được không
Lấy về: VnVoice 1.0: http://www.fileden.com/files/2008/5/25/1928713/Tools/vnvoicedemo.zip
Codes:
Mình lấy theo bài của thầy không biết các bạn xem thử được không
TranThiThuyQuyen (113A)- Tổng số bài gửi : 25
Join date : 18/07/2012
Age : 34
Đến từ : Lâm Đồng
Re: Thực hành điều khiển VnVoice
hình như bị lỗi ak, chỉ có người gửi mới thấy đc bài của mình thôy ak, hic.
TranThiThuyQuyen (113A)- Tổng số bài gửi : 25
Join date : 18/07/2012
Age : 34
Đến từ : Lâm Đồng
Re: Thực hành điều khiển VnVoice
Nếu xem không được các bạn có thể qua bên phần Forum lớp 112A có tên "Thực hành điều khiển VnVoice". Bên đó mình thấy có đầy đủ phần mềm, code đều xem được, các bạn thử tải về xem nha.
Chúc các bạn thành công.
Admin
- Cứ theo cách đó !
- Để xem lại các Hình và Liên kết.
Chúc các bạn thành công.
Admin
- Cứ theo cách đó !
- Để xem lại các Hình và Liên kết.
nguyenchithuc(113A)- Tổng số bài gửi : 30
Join date : 02/08/2012
Age : 34
Re: Thực hành điều khiển VnVoice
Giới thiệu VnVoice:
VnVoice là tiện ích tích hợp tiếng nói trong các chương trình ứng dụng. Nó hỗ trợ rất tốt khả năng đọc các tệp văn bản từ Microsoft Word 9x, 2000, đọc tin trên các trang Web (bằng cả hai thứ tiếng Việt, Anh với các font chữ ABC, VNI, UNICODE). Là công cụ hữu hiệu tích hợp với các CSDL nhằm thực hiện hay đưa ra các thông báo tự động tới mọi người.
Môi trường: PC có cài hệ điều hành Windows 9x, 2000, ME, XP, NT.
Chức năng chính:
+Đọc văn bản từ các nguồn: trên màn hình thông qua clipboard, các khoản mục trên Menu của chương trình, văn bản từ bàn phím gõ vào, văn bản trên các Website, trong các ứng dụng Microsoft Word, Outlook Express…
Tổng hợp được 6 thanh tiếng Việt
+ Cho phép đọc các khuôn dạng phi từ: biểu thức số, ngày tháng, giờ điện tử, tiền Việt Nam, đo lường, chữ viễt tắt thông thường.
Đặc biệt: đọc tự động văn bản hỗn hợp Việt - Anh, hoặc thuần Anh rất hữu dụng cho các ứng dụng Web.
VnVoice là tiện ích tích hợp tiếng nói trong các chương trình ứng dụng. Nó hỗ trợ rất tốt khả năng đọc các tệp văn bản từ Microsoft Word 9x, 2000, đọc tin trên các trang Web (bằng cả hai thứ tiếng Việt, Anh với các font chữ ABC, VNI, UNICODE). Là công cụ hữu hiệu tích hợp với các CSDL nhằm thực hiện hay đưa ra các thông báo tự động tới mọi người.
Môi trường: PC có cài hệ điều hành Windows 9x, 2000, ME, XP, NT.
Chức năng chính:
+Đọc văn bản từ các nguồn: trên màn hình thông qua clipboard, các khoản mục trên Menu của chương trình, văn bản từ bàn phím gõ vào, văn bản trên các Website, trong các ứng dụng Microsoft Word, Outlook Express…
Tổng hợp được 6 thanh tiếng Việt
+ Cho phép đọc các khuôn dạng phi từ: biểu thức số, ngày tháng, giờ điện tử, tiền Việt Nam, đo lường, chữ viễt tắt thông thường.
Đặc biệt: đọc tự động văn bản hỗn hợp Việt - Anh, hoặc thuần Anh rất hữu dụng cho các ứng dụng Web.
TranThiThuyQuyen (113A)- Tổng số bài gửi : 25
Join date : 18/07/2012
Age : 34
Đến từ : Lâm Đồng
Re: Thực hành điều khiển VnVoice
Trọng gửi hình mọi người xem rồi kiểm tra thử xem, nhưng tìm VB6 hoài không ra để down về, ai có link cho trọng với, cảm ơn trước nha
tranminhtrong (11A3)- Tổng số bài gửi : 8
Join date : 17/07/2012
Age : 37
Đến từ : Tây Ninh
tranminhtrong (11A3)- Tổng số bài gửi : 8
Join date : 17/07/2012
Age : 37
Đến từ : Tây Ninh
Re: Thực hành điều khiển VnVoice
chưa tìm được VNvoice như mong muốn..
NguyenHuuLinh31(113A)- Tổng số bài gửi : 33
Join date : 19/07/2012
Re: Thực hành điều khiển VnVoice
Mình có tìm hiểu thêm về VnVoice. VnVoice là công cụ hữu hiệu nhằm thực hiện hay đưa ra các thông báo tự động tới mọi người. Mình xin bổ sung thêm các ứng dụng có liên quan tới speaking (vnvoice). Nếu có gì sai mong các bạn thông cảm và góp ý thêm cho mình.
Hiện nay ở Việt Nam tại các ngân hàng, trung tâm bưu chính viễn thông (bưu điện), cty moblie đã áp dụng Speaking VN (VnVoice hay phần mềm nào đó) với việc đọc tên khách hàng hay mã số thẻ theo thứ tự để giao tiếp với khách hàng (khách hàng ngồi chờ tới lượt không cần chen lấn như trước kia). Ngoài ra theo mình được biết một ứng dụng khác cũng rất quan trọng giúp cho người khiếm khuyết. Người khiếm thị thì sử dụng các thiết bị cầm tay thông minh để: dẫn đường, điện thoại, ... thông qua giọng nói mà thực thi lệnh-yêu cầu. Người không thể nói sẽ dùng các thiết bị di động điều khiển từ xa nhập chữ vào và nó sẽ phát ra tiếng nói như chương trình chạy trên máy vi tính phát âm gọi VnVoice mà thầy đã trình bày (thay thế cho việc giao tiếp dùng ngôn ngữ bằng tay trước đây).
Việc nhận diện con người qua dấu vân tay, hình ảnh khuôn mặt hay con ngươi mắt (giác mạc) mình nghĩ còn có thể dùng giọng nói để hỗ trợ nhận diện (sàng lọc phân tích tần số âm thanh) thay cho việc gõ password và username trên máy tính nếu kết hợp mấy cái kia nữa thì tính bảo mật sẽ cao.
Có thể trong tương lai với ứng dụng này mọi người sẽ điều khiển các thiết bị, máy móc, robot thông qua giọng nói (thay cho bấm nút và chạm vào cảm ứng). Mình thấy VnVoice rất là có ích trong thực tế, ứng dụng được ở mọi lĩnh vực.
Hiện nay ở Việt Nam tại các ngân hàng, trung tâm bưu chính viễn thông (bưu điện), cty moblie đã áp dụng Speaking VN (VnVoice hay phần mềm nào đó) với việc đọc tên khách hàng hay mã số thẻ theo thứ tự để giao tiếp với khách hàng (khách hàng ngồi chờ tới lượt không cần chen lấn như trước kia). Ngoài ra theo mình được biết một ứng dụng khác cũng rất quan trọng giúp cho người khiếm khuyết. Người khiếm thị thì sử dụng các thiết bị cầm tay thông minh để: dẫn đường, điện thoại, ... thông qua giọng nói mà thực thi lệnh-yêu cầu. Người không thể nói sẽ dùng các thiết bị di động điều khiển từ xa nhập chữ vào và nó sẽ phát ra tiếng nói như chương trình chạy trên máy vi tính phát âm gọi VnVoice mà thầy đã trình bày (thay thế cho việc giao tiếp dùng ngôn ngữ bằng tay trước đây).
Việc nhận diện con người qua dấu vân tay, hình ảnh khuôn mặt hay con ngươi mắt (giác mạc) mình nghĩ còn có thể dùng giọng nói để hỗ trợ nhận diện (sàng lọc phân tích tần số âm thanh) thay cho việc gõ password và username trên máy tính nếu kết hợp mấy cái kia nữa thì tính bảo mật sẽ cao.
Có thể trong tương lai với ứng dụng này mọi người sẽ điều khiển các thiết bị, máy móc, robot thông qua giọng nói (thay cho bấm nút và chạm vào cảm ứng). Mình thấy VnVoice rất là có ích trong thực tế, ứng dụng được ở mọi lĩnh vực.
Được sửa bởi MaiThiHongTham70 (113A) ngày 8/8/2012, 13:59; sửa lần 1.
MaiThiHongTham70 (113A)- Tổng số bài gửi : 32
Join date : 07/08/2012
Re: Thực hành điều khiển VnVoice
thầy ơi không xem được link
NguyenVuLinh12053_I11C- Tổng số bài gửi : 41
Join date : 07/08/2012
Re: Thực hành điều khiển VnVoice
thầy ơi phần mềm VNVOICE down về mà em chạy ko được thầy ạ.thầy có bản dùng thử không cho em xin ạ.
vutanthanh68 (113A)- Tổng số bài gửi : 64
Join date : 17/07/2012
Phần mềm tương tự VNVoice
Mình thấy các bạn khoá trước có cung cấp phần mềm Vietnamese Text to Speech Engine 3.0. Cái này đã được cải tiến.
Các bạn download về nghiên cứu thêm nhé :
link : http://www.mediafire.com/?qip4x93dpr40qq8
p/s : lúc nãy post nhằm phía ngoài, giờ post lại trong chuyên mục của thầy để các bạn dễ tham khảo
Các bạn download về nghiên cứu thêm nhé :
link : http://www.mediafire.com/?qip4x93dpr40qq8
p/s : lúc nãy post nhằm phía ngoài, giờ post lại trong chuyên mục của thầy để các bạn dễ tham khảo
LeDangBaoNgoc55 (113A)- Tổng số bài gửi : 15
Join date : 16/07/2012
Phần mềm nhận dạng và điều khiển bằng giọng nói VSpeech
Mình mới tìm được phần mềm này cũng khá hay nè, cho phép nhận dạng và điều khiển bằng giọng nói luôn.
Các bạn tham khảo nhé :
link : http://blog.vn-pro.net/vspeech-phan-mem-nhan-dang-giong-noi-tieng-viet-tren-may-tinh/
Còn phần mềm này có thể tự động nhận dạng mã Unicode luôn. Các bạn tham khảo phía dưới nhé!
DovisocoTextAloRec – phần mềm đọc tiếng Việt, chuyển sang mp3…
Để sử dụng phần mềm này trước hết bạn cần có gói giọng nói SaoMai, tải về theo đường link bên dưới:
http://www.saomaiquan.org/files/software/Sao_Mai_Voice18-04-2008.zip
Sau đó bạn tải dovisocoTextAloRec theo đường link dưới:
http://www.mediafire.com/?mgwm90xy33x
hay:
http://www.box.net/shared/bum8vxyckk
Giới thiệu:
- Đây là phần mềm được phát triển từ dovisocoTextAloud với độ tuỳ biến cao.
- Tự động nhận diện mã tiếng Việt (Unicode, VNI, TCVN-3 ABC) để chọn giọng nói cho thích hợp. Chức năng này gần như chính xác hoàn toàn, bạn có thể tắt mở chức năng này bằng phím tắt: CTRL+SHIFT+F3. Tôi rất tâm đắc với chức năng này.
- Hỗ trợ từ điển riêng cho mỗi giọng đọc: ví dụ: Thanh Vi.txt là từ điển cho giọng Thanh Vi (mã VNI), Minh Du.txt là từ điển dùng cho giọng đọc Minh Du (mã Unicode),… Nên các bạn có thể tuỳ biến, chỉnh sửa giọng đọc tuỳ theo mục đích của riêng mình. Mình tâm đắc với chức năng này. Bạn có thể tham khảo mấy tập tin đuôi .txt đi kèm để tham khảo về cách sử dụng.
- Khắc phục được lỗi ngắt dấu câu cho gói giọng nói SaoMai.
- Chức năng Text to mp3 cho phép chuyển sang định dạng mp3 với nhiều tuỳ chọn.
- Chức năng After reading cho phép tắt, ngủ máy tính sau khi đã đọc xong văn bản trong bộ nhớ.
- Tăng giảm tốc độ, âm lượng cho giọng đọc…
- Và rất nhiều chức năng khác… và sẽ còn được phát triển nữa dựa theo những gợi hứng của chính các bạn là những người sử dụng phần mềm của tôi.
- Phần mềm này được phát triển và xin được dành tặng miễn phí cho những anh chị em khiếm thị.
Cách sử dụng: Để sử dụng được tất cả những chức năng trên, bạn chỉ việc khởi động chương trình, copy đoạn văn bản bất kỳ nào (thường bằng tổ hợp phím CTRL+C) và lắng nghe…
Các bạn tham khảo nhé :
link : http://blog.vn-pro.net/vspeech-phan-mem-nhan-dang-giong-noi-tieng-viet-tren-may-tinh/
Còn phần mềm này có thể tự động nhận dạng mã Unicode luôn. Các bạn tham khảo phía dưới nhé!
DovisocoTextAloRec – phần mềm đọc tiếng Việt, chuyển sang mp3…
Để sử dụng phần mềm này trước hết bạn cần có gói giọng nói SaoMai, tải về theo đường link bên dưới:
http://www.saomaiquan.org/files/software/Sao_Mai_Voice18-04-2008.zip
Sau đó bạn tải dovisocoTextAloRec theo đường link dưới:
http://www.mediafire.com/?mgwm90xy33x
hay:
http://www.box.net/shared/bum8vxyckk
Giới thiệu:
- Đây là phần mềm được phát triển từ dovisocoTextAloud với độ tuỳ biến cao.
- Tự động nhận diện mã tiếng Việt (Unicode, VNI, TCVN-3 ABC) để chọn giọng nói cho thích hợp. Chức năng này gần như chính xác hoàn toàn, bạn có thể tắt mở chức năng này bằng phím tắt: CTRL+SHIFT+F3. Tôi rất tâm đắc với chức năng này.
- Hỗ trợ từ điển riêng cho mỗi giọng đọc: ví dụ: Thanh Vi.txt là từ điển cho giọng Thanh Vi (mã VNI), Minh Du.txt là từ điển dùng cho giọng đọc Minh Du (mã Unicode),… Nên các bạn có thể tuỳ biến, chỉnh sửa giọng đọc tuỳ theo mục đích của riêng mình. Mình tâm đắc với chức năng này. Bạn có thể tham khảo mấy tập tin đuôi .txt đi kèm để tham khảo về cách sử dụng.
- Khắc phục được lỗi ngắt dấu câu cho gói giọng nói SaoMai.
- Chức năng Text to mp3 cho phép chuyển sang định dạng mp3 với nhiều tuỳ chọn.
- Chức năng After reading cho phép tắt, ngủ máy tính sau khi đã đọc xong văn bản trong bộ nhớ.
- Tăng giảm tốc độ, âm lượng cho giọng đọc…
- Và rất nhiều chức năng khác… và sẽ còn được phát triển nữa dựa theo những gợi hứng của chính các bạn là những người sử dụng phần mềm của tôi.
- Phần mềm này được phát triển và xin được dành tặng miễn phí cho những anh chị em khiếm thị.
Cách sử dụng: Để sử dụng được tất cả những chức năng trên, bạn chỉ việc khởi động chương trình, copy đoạn văn bản bất kỳ nào (thường bằng tổ hợp phím CTRL+C) và lắng nghe…
LeDangBaoNgoc55 (113A)- Tổng số bài gửi : 15
Join date : 16/07/2012
Re: Thực hành điều khiển VnVoice
Mình không biết các bạn đã biết hết ý nghĩa dòng lệnh của 3 file hình trên chưa.Mình tìm bên I12A thì thấy có 1 bạn giới thiệu ý nghĩa những dòng lệnh này.Các bạn vào xem và cùng học chung nhé.Nếu có sai sót thì các bạn cứ sửa dùm mình.Học tốt nhé ^^!!!
--------------------------------------------------------------------------------------------------------------------------------------
- FindWindow: Tìm cửa sổ chương trình trong windows
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
- FindWindowEx: Tìm kiếm cửa sổ con khi đã biết được Handle của cửa sổ cha.
[DllImport("user32.dll")]
public static extern IntPtr FindWindowEx(IntPtr hWnd1, IntPtr hWnd2, string lpsz1, string lpsz2);
- SendMessageW: gửi thông điệp đến cửa sổ ứng dụng
[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
---------------------------------------------------------------------------------------------------------------------------------------
private void cmdGetMenuItemID_Click(object sender, EventArgs e)
{
IntPtr hMainMenu, hSubMenu; //khai báo 2 biến hMainMenu và hSubMenu kiểu handel(mục quản)
int iSubMenuIndex, iSubMenuItem, iMenuItemID;
iSubMenuIndex = 0;
iSubMenuItem = 0;
IntPtr hApp = FindWindow(null, "Speaking VN"); // tìm trong những cửa sổ đang chạy hiện tại có cửa sổ nào có tiêu đề là Speaking VN ko , nếu có trả về handle và lưu vào biến hApp nếu ko thì trả về null
hMainMenu = GetMenu(hApp) ; // hàm GetMenu lấy handle(mục quản ) của cả hệ thống menu gán với cửa sổ có mục quản lưu trong biến hApp
hSubMenu = GetSubMenu(hMainMenu , iSubMenuIndex); // hàm GetSubMenu dùng để nhận mục quản của nhánh thực đơn thứ tự npos(iSubMenuIndex) thuộc hệ thực đơn hMainMenu
iMenuItemID = (int) GetMenuItemID(hSubMenu , iSubMenuItem);//hàm GetMenuItemID dung để lấy mã định danh ID của mục thứ iSubMenuIndex trong nhánh hSubMenu , sau đó ép kiểu sang kiểu int và lưu vào biến iMenuItemID
Message.Show(iMenuItemID.ToString()); // chuyển mã định danh đang lưu trong biến iMenuItemID sang kiểu chuỗi và hiện thị lên
}
---------------------------------------------------------------------------------------------------------------------------------------
private void PronounceByVnVoice(string strTCVN3)
{
IntPtr hApp = FindWindow(null, "Speaking VN"); // tìm xem những cửa sổ đang chạy có cửa sổ nào tiêu đề là “Speaking VN” , tên class là null và trả về handle(mục quản) của cửa đó rồi lưu vào biến hApp
if (hApp == IntPtr.Zero) // nếu ko tìm thấy handle , do chưa khởi động vnvoice thì thoát ra khỏi hàm này luôn
{
return;
}
IntPtr hFrame = FindWindowEx(hApp, IntPtr.Zero, "AfxFrameOrView42s", ""); // tìm handle của cửa sổ con của hApp có tên class là AfxFrameOrView42s và lưu vào biến hFrame
IntPtr hRichEditBox = FindWindowEx(hFrame, IntPtr.Zero, "RICHEDIT", ""); //với frame vừa tìm được thì tiếp tục lại tìm (tìm kiếm mở rộng) trong đó có đối tượng nào có tên lớp là “RICHEDIT” hay không ? Nếu có thì trả mục quản (handle) của nó về cho biến hFrame còn nếu không thì trả về NULL
Clipboard.Clear(); //Xoá sạch clipboard để chứa đoạn văn bản được giữ ở biến strTCVN3
SendMessageW(hRichEditBox, WM_SETTEXT, 0, (int)Marshal.StringToHGlobalUni(strTCVN3)); // Gửi đoạn văn bản chứa bởi strTCVN3 tới đối tượng RICHEDIT của chương trình "Speaking VN"
SendMessage(hApp, WM_COMMAND, 104, 0); // sau khi gửi đoạn văn bản tới RICHEDIT của tiến trình "Speaking VN" thì tiếp tục gọi lệnh gửi thông điệp thực hiện tới đối tượng có ID=104 (là button đọc của chương trình VnVoice)
}
--------------------------------------------------------------------------------------------------------------------------------------
- FindWindow: Tìm cửa sổ chương trình trong windows
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
- FindWindowEx: Tìm kiếm cửa sổ con khi đã biết được Handle của cửa sổ cha.
[DllImport("user32.dll")]
public static extern IntPtr FindWindowEx(IntPtr hWnd1, IntPtr hWnd2, string lpsz1, string lpsz2);
- SendMessageW: gửi thông điệp đến cửa sổ ứng dụng
[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
---------------------------------------------------------------------------------------------------------------------------------------
private void cmdGetMenuItemID_Click(object sender, EventArgs e)
{
IntPtr hMainMenu, hSubMenu; //khai báo 2 biến hMainMenu và hSubMenu kiểu handel(mục quản)
int iSubMenuIndex, iSubMenuItem, iMenuItemID;
iSubMenuIndex = 0;
iSubMenuItem = 0;
IntPtr hApp = FindWindow(null, "Speaking VN"); // tìm trong những cửa sổ đang chạy hiện tại có cửa sổ nào có tiêu đề là Speaking VN ko , nếu có trả về handle và lưu vào biến hApp nếu ko thì trả về null
hMainMenu = GetMenu(hApp) ; // hàm GetMenu lấy handle(mục quản ) của cả hệ thống menu gán với cửa sổ có mục quản lưu trong biến hApp
hSubMenu = GetSubMenu(hMainMenu , iSubMenuIndex); // hàm GetSubMenu dùng để nhận mục quản của nhánh thực đơn thứ tự npos(iSubMenuIndex) thuộc hệ thực đơn hMainMenu
iMenuItemID = (int) GetMenuItemID(hSubMenu , iSubMenuItem);//hàm GetMenuItemID dung để lấy mã định danh ID của mục thứ iSubMenuIndex trong nhánh hSubMenu , sau đó ép kiểu sang kiểu int và lưu vào biến iMenuItemID
Message.Show(iMenuItemID.ToString()); // chuyển mã định danh đang lưu trong biến iMenuItemID sang kiểu chuỗi và hiện thị lên
}
---------------------------------------------------------------------------------------------------------------------------------------
private void PronounceByVnVoice(string strTCVN3)
{
IntPtr hApp = FindWindow(null, "Speaking VN"); // tìm xem những cửa sổ đang chạy có cửa sổ nào tiêu đề là “Speaking VN” , tên class là null và trả về handle(mục quản) của cửa đó rồi lưu vào biến hApp
if (hApp == IntPtr.Zero) // nếu ko tìm thấy handle , do chưa khởi động vnvoice thì thoát ra khỏi hàm này luôn
{
return;
}
IntPtr hFrame = FindWindowEx(hApp, IntPtr.Zero, "AfxFrameOrView42s", ""); // tìm handle của cửa sổ con của hApp có tên class là AfxFrameOrView42s và lưu vào biến hFrame
IntPtr hRichEditBox = FindWindowEx(hFrame, IntPtr.Zero, "RICHEDIT", ""); //với frame vừa tìm được thì tiếp tục lại tìm (tìm kiếm mở rộng) trong đó có đối tượng nào có tên lớp là “RICHEDIT” hay không ? Nếu có thì trả mục quản (handle) của nó về cho biến hFrame còn nếu không thì trả về NULL
Clipboard.Clear(); //Xoá sạch clipboard để chứa đoạn văn bản được giữ ở biến strTCVN3
SendMessageW(hRichEditBox, WM_SETTEXT, 0, (int)Marshal.StringToHGlobalUni(strTCVN3)); // Gửi đoạn văn bản chứa bởi strTCVN3 tới đối tượng RICHEDIT của chương trình "Speaking VN"
SendMessage(hApp, WM_COMMAND, 104, 0); // sau khi gửi đoạn văn bản tới RICHEDIT của tiến trình "Speaking VN" thì tiếp tục gọi lệnh gửi thông điệp thực hiện tới đối tượng có ID=104 (là button đọc của chương trình VnVoice)
}
QuachVinhTuong (113A)- Tổng số bài gửi : 15
Join date : 16/07/2012
Re: Thực hành điều khiển VnVoice
sao code này chạy cứ báo 104 hoài vậy mấy you
vutanthanh68 (113A)- Tổng số bài gửi : 64
Join date : 17/07/2012
Vnvoice
vutanthanh68 (113A) đã viết:sao code này chạy cứ báo 104 hoài vậy mấy you
bạn chạy bằng chương trình gì vậy ?
nguyendangnguyen43(i13a)- Tổng số bài gửi : 54
Join date : 16/07/2012
Re: Thực hành điều khiển VnVoice
[DllImport("user32")]
static extern IntPtr FindWindowEx(IntPtr hWndParent, IntPtr HwndChildAfter,string lpszClass,string lpszwindow);
[DllImport("user32")]
static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lPar);
[DllImport("user32")]
static extern IntPtr SendMessageW(IntPtr hWnd, int Msg, int wParam, int lPar);
[DllImport("user32")]
static extern IntPtr GetMenu(IntPtr hWnd);
[DllImport("user32")]
static extern IntPtr GetSubMenu(IntPtr hMenu,int nPos);
[DllImport("user32")]
static extern IntPtr GetMenuItemID(IntPtr hMenu, int nPos);
-các you cho hoit lúc nào cũng cần 4 cái ở trên à.
-IntPtr có phải là kiểu dữ liệu lưu địa chỉ trong bộ nhớ ko vậy
-const int WM_COMMAND = 0x011; số 0x011 là con số gì
-Marshal.StringToHGlobalUni dùng để làm gì thế.
(int)Marshal.StringToHGlobalUni(strTCVN3)); tại sao phải ép kiểu sang int
using System.Linq; sao minh cứ báo lỗi ở đó thế
static extern IntPtr FindWindowEx(IntPtr hWndParent, IntPtr HwndChildAfter,string lpszClass,string lpszwindow);
[DllImport("user32")]
static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lPar);
[DllImport("user32")]
static extern IntPtr SendMessageW(IntPtr hWnd, int Msg, int wParam, int lPar);
[DllImport("user32")]
static extern IntPtr GetMenu(IntPtr hWnd);
[DllImport("user32")]
static extern IntPtr GetSubMenu(IntPtr hMenu,int nPos);
[DllImport("user32")]
static extern IntPtr GetMenuItemID(IntPtr hMenu, int nPos);
-các you cho hoit lúc nào cũng cần 4 cái ở trên à.
-IntPtr có phải là kiểu dữ liệu lưu địa chỉ trong bộ nhớ ko vậy
-const int WM_COMMAND = 0x011; số 0x011 là con số gì
-Marshal.StringToHGlobalUni dùng để làm gì thế.
(int)Marshal.StringToHGlobalUni(strTCVN3)); tại sao phải ép kiểu sang int
using System.Linq; sao minh cứ báo lỗi ở đó thế
Được sửa bởi vutanthanh68 (113A) ngày 14/8/2012, 08:30; sửa lần 1.
vutanthanh68 (113A)- Tổng số bài gửi : 64
Join date : 17/07/2012
Re: Thực hành điều khiển VnVoice
nguyendangnguyen43(i13a) đã viết:vutanthanh68 (113A) đã viết:sao code này chạy cứ báo 104 hoài vậy mấy you
bạn chạy bằng chương trình gì vậy ?
mình chạy bằng vs2005
vutanthanh68 (113A)- Tổng số bài gửi : 64
Join date : 17/07/2012
Trang 1 trong tổng số 2 trang • 1, 2
Similar topics
» Thực hành điều khiển VnVoice
» Thực hành điều khiển VnVoice
» Thực hành điều khiển VnVoice
» Điều khiển VnVoice
» Điều khiển VnVoice
» Thực hành điều khiển VnVoice
» Thực hành điều khiển VnVoice
» Điều khiển VnVoice
» Điều khiển VnVoice
Trang 1 trong tổng số 2 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết