Skip to content

Instantly share code, notes, and snippets.

@agerlic
Last active August 29, 2015 14:06
Show Gist options
  • Save agerlic/0c4fb0597e7ae739c7a8 to your computer and use it in GitHub Desktop.
Save agerlic/0c4fb0597e7ae739c7a8 to your computer and use it in GitHub Desktop.
StartDocW EasyHook
[UnmanagedFunctionPointer(CallingConvention.StdCall, SetLastError = true)]
public delegate Int32 DStartDocW(IntPtr hPrinter, IntPtr di);
[DllImport("Gdi32.dll", EntryPoint = "StartDocW", SetLastError = true, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 StartDocW(IntPtr hPrinter, IntPtr di);
//hook
public Int32 StartDocW_Hooked(IntPtr InPrinterHandle, IntPtr InData)
{
//create XML file
//create PDF printer handle
IntPtr PDFPrinterHandle;
createPDFPrinterHandle(out PDFPrinterHandle);
//return StartDocW method result with PDF Printer handle
return StartDocW(PDFPrinterHandle, InData);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment