SetDefaultPrinter
C# Signature:
[DllImport("winspool.drv", CharSet=CharSet.Auto, SetLastError=true)]
public static extern bool SetDefaultPrinter(string Name);
VB Signature:
Declare Function SetDefaultPrinter Lib "winspool.drv" Alias "SetDefaultPrinterA" (ByVal pszPrinter As String) As Boolean
Tips & Tricks:
{
pinvokeResult = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, IntPtr.Zero,
IntPtr.Zero, SendMessageTimeoutFlags.SMTO_NORMAL, 1000, out innerPinvokeResult);
}
Sample Code:
// Locals
bool result;
IntPtr pinvokeResult;
IntPtr HWND_BROADCAST;
IntPtr innerPinvokeResult;
// Set default printer
result = SetDefaultPrinter(defaultPrinterName);
// Notify running programs?
if (result == true && notifyRunningPrograms == true)
{
// Tell all open programs that this change occurred.
// Allow each program 1 second to handle this message.
HWND_BROADCAST = new IntPtr(0xffff);
pinvokeResult = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, IntPtr.Zero,
IntPtr.Zero, SendMessageTimeoutFlags.SMTO_NORMAL, 1000, out innerPinvokeResult);
}
// Return result
return result;
Última actualización