2009-05-04 32 views
5

Tôi có một .INF cho máy in ảo mà tôi cần cài đặt từ Ứng dụng .NET. Tôi đã làm điều này trước khi sử dụng các kịch bản lệnh batch, nhưng tôi đang tìm một đoạn mã để làm điều này trong .NET Framework.Tôi làm cách nào để cài đặt máy in bằng .NET?

Không có gì đặc biệt về máy in .INF, vì vậy mọi mã cài đặt máy in từ INF trong C# hoặc VB.NET sẽ hoạt động.

Trả lời

9

Tôi tin rằng điều này là có thể qua interop để API win32 bản địa, nhưng tôi đã tìm thấy nhiều của nó, dễ dàng hơn nhiều chỉ để sử dụng một System.Diagnostics.Process() để gọi vào printui.dll qua:

rundll32.exe printui.dll,PrintUIEntry /?

có lẽ bạn đã sử dụng đó trong kịch bản hàng loạt đề cập, nhưng nếu không phải là thông số được ghi nhận ở đây: PrintUI.DLL User's Guide and Reference

Chỉ cần chắc chắn để kiểm tra nó chống lại tất cả các hệ thống hoạt động bạn cần hỗ trợ. Một số tùy chọn không tồn tại trong tất cả các bản phát hành Windows hoặc đã được đổi tên (mặc dù tôi nghĩ rằng chúng là các tùy chọn bí truyền hơn - cài đặt một .INF có thể sẽ hoạt động trên bảng).

+0

+1 cho là tốt hơn so với câu trả lời của tôi;) – bsneeze

+1

liên kết bị phá vỡ = ( – HiTech

1

Đây là không phải là giải pháp lý tưởng, nhưng nếu không có câu trả lời nào khác, bạn có thể tạo tệp batch tạm thời và gọi thông qua C#/VB.NET.

Một người khác có thể sẽ biết cách tự nhiên hơn để thực hiện việc này.

0

Bạn sẽ cần phải bao bọc các API thiết lập bằng PINVOKE hoặc đối tượng COM gốc.

5

Bạn sẽ muốn xem các đối tượng WMI có sẵn. Những điều này cho phép bạn kiểm soát tốt hơn các cài đặt máy cục bộ. Hãy xem WMI code creator từ Microsoft, tôi tin rằng điều này sẽ tạo ra một số mã ví dụ mà bạn có thể tận dụng để giải quyết vấn đề của mình.

+0

1: Nice công cụ ... – Dscoduc

+0

Ừ công cụ tuyệt vời – Raymund

2

Administering Printer Settings in C# for Flexible Printing

xem bài viết này, nó sử dụng một MS Platform SDK DLL gọi PRNADMIN để quản lý máy in, máy in-driver, máy in-cảng, ... vv.

Cá nhân tôi sử dụng nó trong một dự án thương mại để cài đặt trình điều khiển máy in và thay đổi cổng máy in thành cổng cục bộ để chặn Bản ghi. và nó hoạt động như một Charm.

Hoặc bạn có thể sử dụng một số VBScripts cài đặt sẵn đi kèm với cửa sổ trong C: \ Windows \ system32 \ Printing_Admin_Scripts và đây là một một bài báo cho họ:

http://technet.microsoft.com/en-us/library/cc771846.aspx

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