Tôi hiểu điều đó. Truy tìm thông qua mã máy, tôi thấy chức năng modMessage() không thành công và trả về MMSYSERR_ERROR. Chính xác tại sao không rõ ràng với tôi, nó trông giống như một vấn đề khởi tạo bị thiếu.
Điều kỳ lạ về rủi ro này là không có nhiều khiếu nại về điều đó, bạn mong đợi nhiều chương trình khác cũng sẽ bị xóa. Hoặc cho rằng vấn đề cho họ để được kiểm tra trước khi Win10 vận chuyển. Điều tiếp theo tôi đã thử là thêm một điều xảy ra trong bất kỳ ứng dụng âm thanh không tầm thường nào mà tôi bỏ qua trong chương trình thử nghiệm của mình. Một phần cảm hứng bằng cách nhìn thấy "ATL" trở lại trong các biểu tượng của modMessage, mặc dù nó không phải là bất cứ nơi nào gần gũi. Tôi đã thêm dòng này làm dòng đầu tiên trong dòng chính():
CoInitializeEx(NULL, COINIT_MULTITHREADED);
Badaboom, không còn lỗi nữa. Sử dụng COINIT_APARTMENTTHREADED nếu bạn gọi nó trên luồng chính của một chuỗi giao diện người dùng. CoUninitialize() ở cuối để làm sạch.
Giải thích điều này là khó khăn, việc khởi tạo COM không cần thiết khi bạn sử dụng MIDI. Với nó tại chỗ, gọi midiOutOpen được thêm một DLL nạp, clbcatq.dll. Đó là mô-đun hỗ trợ COM +. Vì vậy, chắc chắn có vẻ như Win10 yêu cầu COM được khởi tạo.
Nguồn
2015-09-13 18:38:55
Cảm ơn bạn đã xem xét điều này - cách giải quyết của bạn đã hiệu quả đối với tôi! – Cam
Rất nhiều chương trình bị xóa. Nhưng rất nhiều lập trình viên ngân sách thấp không có thêm một máy tính để sử dụng cho thử nghiệm Win10 trước khi nó được phát hành ... và họ dự kiến M $ sẽ vẫn tương thích ............. Trình chơi nhạc VanBasco Karaoke là một trong đó rơi qua ... trừ khi bạn nhấp vào? (trợ giúp) biểu tượng mà dường như sử dụng/khởi tạo COM. – Victoria