- VS 2010
- Phát triển ứng dụng 32-bit chạy trên hệ điều hành 64-bit (Win7, Win8 - ứng dụng máy tính để bàn)
- C#
- .NET 4.0
- WinForms
tôi đã tìm thấy nhiều chủ đề về triển khai Windows bàn phím trên màn hình (osk.exe) từ một ứng dụng, nhưng đang chạy vào một số vấn đề. Có vẻ như tôi đang chạy một ứng dụng 32 bit trên hệ điều hành 64 bit. Tôi đã thử mã được đăng bởi WooCaSh tại đây: Keyboard on the screen in WinFormsLàm thế nào để sử dụng Windows On Screen Keyboard trong WinForms C#
Nhưng không một trong ba đường dẫn khác nhau phù hợp với tôi. Đối với đường dẫn "sysnative", Process.Start "Không thể tìm thấy đường dẫn được chỉ định." Đối với đường dẫn system32 và osk.exe, tôi nhận được hộp thoại lỗi "Không thể khởi động bàn phím ảo".
Tôi tìm thấy một workaround có thể ở đây, đó là nhiều hơn một chút phức tạp hơn những gì tôi đang tìm kiếm (bài bởi eryang): http://social.msdn.microsoft.com/Forums/en-US/netfx64bit/thread/10ebc62f-e6d7-4072-9fd1-ea3784a0966f/
- Có một cách dễ dàng hơn hoặc đúng để làm điều này?
- Tôi hy vọng rằng việc chạy ứng dụng của tôi trên máy tính bảng sẽ tự động khởi chạy bàn phím ảo khi người dùng chọn hộp văn bản nhưng không may mắn. Đây có phải là bình thường hay tôi đang thiếu một cái gì đó? EDIT: Tìm thấy rằng bàn phím không được tự động khởi chạy trong Win8 khi ở chế độ Desktop (ứng dụng của tôi): http://www.bleepingcomputer.com/forums/t/480250/keyboard-does-not-pop-up-automatically/ Dường như nó hoạt động trên máy tính bảng Win7, nhưng tôi không thể kiểm tra vì tôi chỉ có máy tính bảng Win8 ở đây.
Chỉ cần thay đổi cài đặt Nhắm mục tiêu nền tảng trên dự án EXE của bạn thành "AnyCPU". –
Thật không may nó cần phải được x86 cho một số phần mềm bên thứ 3 nó tương tác với. – Tara
Chỉ để thử nghiệm, tôi đã tiếp tục và thay đổi thành "AnyCPU". Bàn phím vẫn sẽ không khởi chạy trên máy tính để bàn Win7 64-bit của tôi, nhưng được khởi chạy trên máy tính bảng Win8 64 bit. Bất kỳ ý tưởng? – Tara