2009-03-16 36 views
12

Tôi muốn viết một ứng dụng bằng C++ hoặc C# sẽ hoạt động như một trình điều khiển máy in khi được cài đặt. Nó sẽ có sẵn trong danh sách thả xuống trong hộp thoại Print nhưng thay vì in nó sẽ gọi vào mã của tôi.Viết Trình điều khiển Máy in Windows

Tôi nghĩ có thể có một số giao diện mà Windows cung cấp để viết trình điều khiển máy in.

+0

Bạn có tìm ra cách để làm điều đó? – jNewbie

Trả lời

21

Windows cung cấp nhiều giao diện. Bạn có biết loại trình điều khiển máy in nào bạn muốn viết không? Hiện nay, Windows hỗ trợ ba hương vị của trình điều khiển máy in - PostScript, Unidrv và XPSDrv (sau này trên XP/2003 Server với EP 1.0 và chỉ trở lên). Hầu hết thời gian, nó đủ để viết một trình điều khiển plug-in để thay thế. Đọc trên kiến ​​trúc INF để biết những thứ này được cài đặt, đặc biệt là phần trên máy tính cá nhân.

Như đã đề xuất, bạn sẽ cần WDK để có thể xây dựng trình điều khiển hoặc trình cắm. Lưu ý rằng trình điều khiển không sử dụng Visual Studio IDE hoặc trình biên dịch. WDK đi kèm với trình biên dịch riêng của nó. Bạn luôn có thể kết nối sau với VS, nhưng đó là một câu chuyện khác.

WDK đã thiết lập để nhắm mục tiêu các hệ điều hành khác nhau. Bạn sẽ phải biết hệ điều hành nào (hoặc bộ OS-es) mà bạn muốn giải quyết và chọn thiết lập thích hợp.

Tôi muốn viết một trình điều khiển đơn giản sẽ hiển thị trong danh sách máy in.

Tôi không thấy điều đó sẽ hữu ích như thế nào. Nếu bạn đang viết một trình điều khiển, tại sao bạn muốn một danh sách tất cả các trình điều khiển khác hiện diện trên hệ thống?

In ấn đến trình điều khiển này sẽ gọi vào mã của tôi để tôi có thể làm công cụ như tạo file PDF của tài liệu, kêu gọi các dịch vụ Web, vv

Thú vị! Bạn có thể đạt được tất cả những thứ đó trong một trình cắm thêm UI. Plugin giao diện người dùng là một dll được tải khi bạn chọn thuộc tính trình điều khiển Advanced.

Để bắt đầu với các plug-in UI, hãy xem mã nguồn mẫu oemui trong WDK.

+0

Tôi muốn viết một trình điều khiển đơn giản sẽ hiển thị trong danh sách máy in. In ấn để trình điều khiển này sẽ gọi vào mã của tôi để tôi có thể làm công cụ như tạo một PDF của tài liệu, gọi Dịch vụ Web, vv – A9S6

+0

Xin chào. Tôi có thể sử dụng một giao diện người dùng-plug-in để procees một tài liệu sau khi nó được in ra PDF? Tôi đang tìm kiếm MSDN lib và không thể thấy anthing như thế. http://msdn.microsoft.com/en-us/library/windows/hardware/ff551791(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/hardware /ff548564(v=vs.85).aspx – user2173353

+0

Tôi nghĩ rằng đây là: http://msdn.microsoft.com/en-us/library/windows/hardware/ff554141(v=vs.85).aspx – user2173353

-1

Tôi không chắc chắn về nó sẽ được hiển thị trong danh sách, nhưng tôi chưa bao giờ cố gắng C++ mã này:

#include <fstream> 
Namespace Drivers{ 
Class Printer{ 
Const IOStream Printer("PRN"); 
Void Send(char a[]){ 
Printer<<a;} 
Char GetStatus[](){ 
Char a[]; 
Printer>>a; 
return a; 
}; 
} 
+0

Điều gì mã này có thực sự không? –

Các vấn đề liên quan