Does anyone know how to get Adobe Acrobat Reader to have the option for Current Page set as default when hitting the print button?

I print out many many pages a day and this drives me nuts. I search the net but I seem to be the only person who can't figure it out or is bothered by setting that option 50 times a day.
Posted on 2005-08-17 07:56:49 by JimmyClif
Posted on 2005-08-20 19:53:20 by PBrennick
Paul, honestly... The Adobe Support pages? I looked around everywhere and came to conclusion that it ain't possible. As there are many versions of this POS program around I decided to write a little toy taking care of my problem.


WndProc proc uses ebx hwnd:DWORD,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
LOCAL rect:RECT
LOCAL ps:PAINTSTRUCT

    .IF uMsg==WM_CREATE
m2m hWnd, hwnd
invoke SetTimer,hWnd,12344h,1000,o$ FindPrintDialog

    .ELSEIF uMsg==WM_DESTROY
    invoke KillTimer,hWnd,12344h
invoke PostQuitMessage,0

    .ELSEIF uMsg==WM_COMMAND
mov eax,wParam

    .ELSE
invoke DefWindowProc,hwnd,uMsg,wParam,lParam
ret
    .ENDIF
    xor eax,eax
    ret
WndProc endp


FindPrintDialog proc

invoke FindWindow,32770,CTXT("Print")
.IF eax != NULL && eax != hDialog
mov hDialog, eax
invoke EnumChildWindows,eax,o$ EnumPrintDialogControls,NULL

.ENDIF
ret
FindPrintDialog endp


EnumPrintDialogControls proc hChild:DWORD, dummy:DWORD
LOCAL rect:RECT
LOCAL pt:POINT

invoke RtlZeroMemory,o$ szTemp,s$ szTemp
invoke GetWindowText,hChild,o$ szTemp,s$ szTemp
invoke lstrcmp,o$ szTemp,CTXT("C&urrent page")
.IF eax == NULL
invoke PostMessage,hChild,WM_LBUTTONDOWN,NULL,NULL
invoke PostMessage,hChild,WM_LBUTTONUP,NULL,NULL
.ENDIF
ret
EnumPrintDialogControls endp


It works and I'm happy.
Posted on 2005-08-21 15:36:00 by JimmyClif