Black Ice Software - August 2010
15% discount for PDF OEM drivers
Purchase any PDF OEM printer driver until September
30th and receive a 15% discount!
Custom help for internationalization
From version 12.53 Black Ice printer drivers can be internationalized
with language-specific help. The printing preferences of the Black Ice Printer Drivers contain a help button in order to provide short descriptions of the different functionalities. However in certain cases (e.g. internationalization) this help button might need to be modified
to be language-specific or to be hidden. The following section describes how to customize or hide the help button on the printing preferences.
If one does not wish to have a help button in the printer driver, the help buttons can be easily hidden
using the resource dll. The source of the resource dll is available in the release version of the printer driver RTKs. To hide the help button do the followings:
- Open the source of the resource dll.
- Set the Visible property of the help button to FALSE on all printer driver dialogs.
- Rebuild the project of the resource dll.
Of course the appearance of the help button can be changed using the source of the resource dll also.
The help button opens the specified CHM documentation. The path and filename of the CHM help file can be defined through the printer driver’s INI file
by the following way:
[Default Settings] CHM
Help File=C:\HelpFiles\ColorPlus_PrinterDriv
er_Manual.chm
The path and the filename of the CHM file can be modified programmatically or manually.
When the help button is clicked the printer driver reads the path and filename of the CHM file from the INI and loads the appropriate page from the CHM document.
The following list shows the references where the help buttons link to in the CHM:
Tab name | Reference in the CHM |
Device Settings | Device_Settings_tab.htm |
File Formats | File_Formats_tab.htm |
Embed Annotation | Embed_Annotation_tab.htm |
Bates Numbering | Bates_Numbering_tab.htm |
Filename Generation | Filename_Generation_tab.htm |
Redirect Printing | Redirect_Printing_tab.htm |
Start Application | Start_Application_tab.htm |
Watermark | Watermark_tab.htm |
Profile Manager | Profile_Manager_tab.htm |
If the help is needed to be changed please make sure that the customized CHM help file contains the htm pages above.
Printing Tips: How to use environment variables in the output path
Black Ice Printer Drivers can interpret environment variables in the output path. The environment variable name must be between “<<” and “>>” marks, e.g.: <<TEMP>>. The printer driver will use the value from the environment variable as the output directory. To specify a directory in the directory specified in the environment variable use the following format:
<<ENVIRONMENT_VARIABLE>>\UserDir
If an administrator creates a user variable on UAC (User Account
Control)-enabled operating systems, the variable will only apply to
the Administrator, and other users will not be able to use
the environment variable automatically. Please make sure that the user variable exists for all users, otherwise when the user prints the printer driver will not find the user variable thus the output path will revert to default.
If the specified environment variable is not found, by default the printer driver will use the temp directory
of the system to generate the output files.
Some applications are able to use the custom environment variables only if the system
has been rebooted after creating the environment variable.
How to capture printer messages on Windows 7
Black Ice Printer Drivers include a messaging interface to communicate with applications by sending printer messages at different stages of the printing process. The applications capture the messages and process them. Black Ice printer drivers
can communicate with an application in three different
ways, however Windows 7 only supports the PIPE messaging interface.
The three different methods are:
Method 1: Through the WM_COPYDATA Windows message
Method 2: Through a registered window message
Method 3: Through a pipe interface
If you use the Windows 7 operating system, you can only use the PIPE messaging interface for capturing messages from the printer driver.
The WM_COPYDATA window message and other registered
window messages won’t work on Vista or Windows 7,
because Windows 7 isolate services in order to prevent malicious attacks.
In Windows XP and earlier versions of the Windows operating systems, all services run in the same session as the first user who logs on to the console. This session is called Session 0. Running services and user applications together in Session 0 poses a security risk because services run at elevated privilege and therefore are targets for malicious agents who are looking for means to elevate their own privilege level.
The Microsoft Windows7/Vista operating system mitigates this security risk by isolating services in Session 0 and making Session 0 non-interactive. In Windows Vista, only system processes and services run in Session 0. The first user logs on to Session 1, and subsequent users log on to subsequent sessions. This means that services never run in the same session as users' applications and are therefore protected from attacks that originate in application code. Because of this the spooler service can’t use window message functions such as SendMessage and PostMessage to communicate with an application and therefore only the PIPE message interface works on Windows 7/Vista operating system from the three Black Ice method.
|