Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Printing with KernelEx 4.5.1

- - - - -

  • Please log in to reply
82 replies to this topic

#51
rloew

rloew

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,084 posts
  • OS:98SE
  • Country: Country Flag

I'm on SE (BFF7) and realized the Kernel32 base on ME must be different per the error info. Kernel32 doesn't contain relocation data, so must load at its prefered base. Clearly that's different for many versions and apparently in the NT-family has been moved from the Reserved System Arena (Holds ring-0 components) down to the Shared Arena [MSKB 125691].

BFF70000 and BFF60000 are in the Shared Arena. The System Arena is C0000000-FFFFFFFF. The NT Bases are in the Private (Per-User) Arena, meaning that each Process gets it's own copy.
Ye who enter my domain. Beware! Lest you become educated in the mysteries of the universe and suffer forever from the desire to know more.


How to remove advertisement from MSFN

#52
dencorso

dencorso

    Adiuvat plus qui nihil obstat

  • Super Moderator
  • 5,788 posts
  • OS:98SE
  • Country: Country Flag

Donator

Could you possibly extend LOADDR to also report the preferred base if different?

Yes. But I think it best to always report the preferred base. It's added to my to-do list.

BFF70000 and BFF60000 are in the Shared Arena. The System Arena is C0000000-FFFFFFFF. The NT Bases are in the Private (Per-User) Arena, meaning that each Process gets it's own copy.

True. For the sake of completeness, this MS document presents the Virtual Address Space Layout for the NT-Family OSes. In it, the Arena nomenclature is not used, but it in fact still applies (unless the /3G switch is used, because it changes the layout).

#53
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,510 posts
  • OS:XP Pro x86
  • Country: Country Flag

True. For the sake of completeness, this MS document presents the Virtual Address Space Layout for the NT-Family OSes. In it, the Arena nomenclature is not used, but it in fact still applies (unless the /3G switch is used, because it changes the layout).

Does the /3GB switch affect the output of LOADDR? I've got /3GB enabled here.
post-47483-1123010975.png
Unofficial Service Pack 5.2 for MS Windows 2000 <- use this topic if you need help with UURollup, Update Rollup 2 and other unofficial packages

#54
dencorso

dencorso

    Adiuvat plus qui nihil obstat

  • Super Moderator
  • 5,788 posts
  • OS:98SE
  • Country: Country Flag

Donator

No. Not in for LOADDR. /3G extends the Shared Arena by reducing the System Arena. Even in a machine with 8 GiB, IMHO, /3G is not beneficial because most applications are not prepared to actually use the bigger Shared Arena, while the Kernel of the system and the kernel-mode drivers are caused to make do with less space in the System Arena. If I had a 2k Adv Srv, and 8 GiB RAM, I'd configure it with /PAE but without /3G. Of course, this is just my 2¢. YMMV. :)

#55
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,510 posts
  • OS:XP Pro x86
  • Country: Country Flag
I find /3GB useful as I tend to have a lot of tabs open in my browser (Opera) and sometimes the RAM usage gets extremely high. Without /3G it crashes around ~1.6 GB used and with /3GB enabled it runs fine up to ~2.4 GB :sneaky:

And I do have 8 GB of RAM but 50% of it is used for a RAM disk.

Edited by tomasz86, 15 April 2012 - 04:14 AM.

post-47483-1123010975.png
Unofficial Service Pack 5.2 for MS Windows 2000 <- use this topic if you need help with UURollup, Update Rollup 2 and other unofficial packages

#56
vilyathegreat

vilyathegreat
  • Member
  • 3 posts
  • OS:none specified
  • Country: Country Flag
I'm running Win98SE & tried Plan E, method 4a. I have KernelEx ver 4.5.2 installed. I can now print with Sumatra 2.0.1 (the ver compiled with VS2008), however, the Advanced tab doesn't appear (fit pages to printable area, etc). BUT, being able to print at all is wonderful!

I could not get Firefox 3.6.28 to print however. I'm using the installed version of Firefox. After following the install procedure, (same as Sumatra) neither firefox.exe, nor any dlls got modified.

Any suggestions would be appreciated.

#57
schwups

schwups

    schwups

  • Member
  • PipPipPip
  • 410 posts
  • OS:ME
  • Country: Country Flag

I'm running Win98SE & tried Plan E, method 4a. I have KernelEx ver 4.5.2 installed. I can now print with Sumatra 2.0.1 (the ver compiled with VS2008), however, the Advanced tab doesn't appear (fit pages to printable area, etc). BUT, being able to print at all is wonderful!

I could not get Firefox 3.6.28 to print however. I'm using the installed version of Firefox. After following the install procedure, (same as Sumatra) neither firefox.exe, nor any dlls got modified.

Any suggestions would be appreciated.


Hallo vilyathegreat,

I tested it again. For Firefox 3.6.28 I have to walk the dependencies (click yes in the first step).

Paste the downloaded ComDlgEx.dll (25.03.12) in

a. <system> folder (for multiple apps)

b. app folder (for single or portable app)

Drag and Drop the Firefox.exe on the ImportPatcher.exe. Click yes. In the first step the ImportPatcher generates two files (ini and log - marked with #) in the program folder. Open the ini file with the editor (NotePad) and paste COMDLG32.DLL=ComDlgEx.dll under [DLL replacements] and save it. After that (second step) press the retry button of the ImportPatcher. Then you cancel the ImportPatcher.
This works for me. Also I can't print if I click the no button.

Edited by schwups, 18 April 2012 - 02:08 PM.


#58
vilyathegreat

vilyathegreat
  • Member
  • 3 posts
  • OS:none specified
  • Country: Country Flag
Thanks much Schwups

I tried your procedure, but when I try printing, Firefox still crashes. After performing your procedure, 3 dlls did get altered (new ones with # in the filename):
1) xu.dll in the mozilla install directory
2) and strangely, comdlgex.dll & shlwapi.dll in \\windows\system

Perhaps the problem has something to do with fixing Sumatra first?

Did you modify a Firefox portable or installable version? Do you remember which dlls, exes got changed?

Thanks

#59
rloew

rloew

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,084 posts
  • OS:98SE
  • Country: Country Flag

I'm running Win98SE & tried Plan E, method 4a. I have KernelEx ver 4.5.2 installed. I can now print with Sumatra 2.0.1 (the ver compiled with VS2008), however, the Advanced tab doesn't appear (fit pages to printable area, etc). BUT, being able to print at all is wonderful!

SumatraPDF uses tabbed Property Sheets to provide the "Advanced" tab.
The Windows 98 PrintDlg Function does not support Property Sheets. It only supports alternative Dialog Boxes.
A much more substantial Patch would be required to add this support.
Ye who enter my domain. Beware! Lest you become educated in the mysteries of the universe and suffer forever from the desire to know more.

#60
schwups

schwups

    schwups

  • Member
  • PipPipPip
  • 410 posts
  • OS:ME
  • Country: Country Flag

Thanks much Schwups

I tried your procedure, but when I try printing, Firefox still crashes. After performing your procedure, 3 dlls did get altered (new ones with # in the filename):
1) xu.dll in the mozilla install directory
2) and strangely, comdlgex.dll & shlwapi.dll in \\windows\system

Perhaps the problem has something to do with fixing Sumatra first?

Did you modify a Firefox portable or installable version? Do you remember which dlls, exes got changed?

Thanks

I've modified an installed version.



altered dll's in the app folder were :            xul.dll, ComDlgEx.dll

And these dll's in the system folder:     SHLWAPI.DLL, SHELL32.dll, SETUPAPI.dll
Here ComDlgEx.dll only in the app folders (Firefox / Sumatra) method 4b


I tried to repeat the procedure on this machine two times. I had deleted all walked files in the system folder, the app folder and reinstalled FF 3.6.28, but unfortunately now  it crashes in order to print or after printing once. Error in Kernel32.dll

Edited by schwups, 19 April 2012 - 07:21 AM.


#61
vilyathegreat

vilyathegreat
  • Member
  • 3 posts
  • OS:none specified
  • Country: Country Flag
Thanks for the info Schwups

So sorry that printing no longer works for you. It's strange to me that more files got altered on your system than on mine. I'm not a programmer, so I'll have to wait for some updates to the printing patch. It seems to work well for Sumatra, but I've been unable to get it to work with anything else; Firefox, Softmaker, etc.

#62
snuz2

snuz2

    Junior

  • Member
  • Pip
  • 54 posts
  • OS:98SE
  • Country: Country Flag
The comdlgex patch corrects a specific problem of some applications requiring a newer, slightly different print dialog than included with W98. The two dialogs are so similar that more or less the data to fill in the dialog fields just needed to be rearranged a bit. The patch fixes the problem of the newer dialog not being recognized on W98 and reformats the data for the old dialog and calls the old dialog instead.

This was the problem with Sumatra, I don't think that FF has that problem, [but I could be wrong], I always get a print dialog from FF even before this patch - unfortunately, I don't get much more than that. But that's all that was fixed here, the dialog not popping up. Programs that call the old W98 dialog don't need this patch and won't benefit from it. Programs that failed to show a print dialog will be helped along by this patch. Before the patch was created, KernelEx would stop the error of the new print dialog function not being found, but it didn't show any dialog. It allowed the application to still load and not crash when Print... was selected but didn' t allow printing to occur. Programs that could put up a print dialog won't be helped by this patch.

If someone with a little more knowledge of this would care to commnet in case I got it wrong....So yeah the title of the thread includes FF, but the solution on here is only for Sumatra afaik. Hope this helps and clears things up a bit. If someone knows of another application that is actually print enabled by this patch ( or you really got it to fix FF) let us know !!

#63
dencorso

dencorso

    Adiuvat plus qui nihil obstat

  • Super Moderator
  • 5,788 posts
  • OS:98SE
  • Country: Country Flag

Donator

Could you possibly extend LOADDR to also report the preferred base if different?

Yes. But I think it best to always report the preferred base. It's added to my to-do list.

OK. Here's the new version of LOADDR... It'll detect when the file is a PE file and, if so, provide the preferred load address and the execution and relocation status of the file it's analysing. When the file is not a PE file, however, it'll behave just as the previous version did. AFAIK, only PE files have the preferred load address information.

Attached Files



#64
diamant

diamant

    Newbie

  • Member
  • 38 posts
  • OS:98SE
  • Country: Country Flag
I stupidly had "forgotten" this thread for a long time :blink: , but I can report that the newest(?) COMDLGEX.DLL (from March 25th 2012, 02:32:34) lets appear the print dialog in many SumatraPDF versions :thumbup . That means that now newer SumatraPDF versions are usable :yes: . The print dialog is the same like in SumatraPDF 0.8.1.
The dialog appears not in SumatraPDF versions 1.3 and 1.4.
The dialog appears in SumatraPDF versions 0.9, 1.5, 1.5.1, 1.6, 1.8, 2.1.1.
(I have to mention that I not tested other versions, especially 1.0, 1.1 and 1.2.)

I put the COMDLGEX.DLL into the SumatraPDF program folder and "hacked" the file SumatraPDF.exe with HexEdit by replacing the string COMDLG32.DLL by COMDLGEX.DLL (I hope that this was a useful method?).

It isn't a big problem that those 2 versions (1.3 and 1.4) do not print, because there are enough other versions which could work.

But one small issue I noticed:
It is not possible to use options like e.g.
"print even pages only",
"print odd pages only",
"print pages 2, 5, 7 [or other] only"
and other, which are probably hidden in some advanced features.

I know that the Acrobat Reader 4.0 provided this print features, even in Win98SE. So I suppose that it should theoretically be possible that SumatraPDF provides this options, too. But how?

#65
jumper

jumper

    2014 All-American Masters HJ'er

  • Member
  • PipPipPip
  • 472 posts
  • OS:98SE
  • Country: Country Flag
>That means that now newer SumatraPDF versions are usable :yes:
2.1.1 work great for me. It's the fastest and best of the line and has become my default PDF viewer. Posted Image

> The print dialog is the same like in SumatraPDF 0.8.1.
Yes, the visible dialog is still PrintDlg. The data structure is pre- and post- processed to create the PrintDlgEx API.

>The dialog appears in SumatraPDF versions 0.9, 1.5, 1.5.1, 1.6, 1.8, 2.1.1.
Also 1.9. Posted Image

>I put the COMDLGEX.DLL into the SumatraPDF program folder and "hacked" the file SumatraPDF.exe with HexEdit by replacing the string COMDLG32.DLL by COMDLGEX.DLL (I hope that this was a useful method?).
ImportPatcher could have been used, but two bytes are easy enough to change in a hex editor. Well done. :w00t:

But one small issue I noticed:
It is not possible to use options like e.g.
"print even pages only",
"print odd pages only",
"print pages 2, 5, 7 [or other] only"
and other, which are probably hidden in some advanced features.

I know that the Acrobat Reader 4.0 provided this print features, even in Win98SE. So I suppose that it should theoretically be possible that SumatraPDF provides this options, too. But how?

Write a better dialog box function instead of reusing PrintDlg.

A PrintHookProc could help. Or as a stop-gap measure, I can probably enable the "Selection" radio button: if it's selected upon return of PrintDlg, an additional MessageBox can be displayed that asks if you actually want odds or evens (Yes/No), or the document selection (Cancel). :unsure:
Design feedback requested:
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
ComDlg32 wrapper - ComDlgEx meets IpHlpApi wrapper
--status-> PrintDlgExW working in latest SumatraPDF 8^)
Future projects: ImportPatcher40 - dialog interface; Kexter - IP40+Ktree+Kexstubs

#66
diamant

diamant

    Newbie

  • Member
  • 38 posts
  • OS:98SE
  • Country: Country Flag


But one small issue I noticed:
It is not possible to use options like e.g.
"print even pages only",
"print odd pages only",
"print pages 2, 5, 7 [or other] only"
and other, which are probably hidden in some advanced features.

Write a better dialog box function instead of reusing PrintDlg.

A PrintHookProc could help. Or as a stop-gap measure, I can probably enable the "Selection" radio button: if it's selected upon return of PrintDlg, an additional MessageBox can be displayed that asks if you actually want odds or evens (Yes/No), or the document selection (Cancel). :unsure:


I opened a the original Win98SE-comdlg32.dll with reshack and discovered the print dialog shown by Sumatrapdf (see attachment comdlg32_98SE.png).

Then I opened a comdlg32.dll from WinXP, found with reshack the same print dialog - and the additional "part" of the print dialog, where I could choose options
"print actual page"
"print pages 2, 5, 7 [or other] only".
See the attached screenshot comdlg32_XP.png (next to the Comdlg32_98S-Screenshot):
Attached File  Comdlg32_98SE.png   46.99KB   11 downloads Attached File  Comdlg32_XP.png   33.45KB   6 downloads

Some questions for a better understanding:
- Do you think that it would be useful simply to copy the corresponding resource (using reshack) from the XP-comdlg32.dll to the 98SE-comdlg32.dll? (I suppose not.)
- Is it fact that the XP-comdlg32 contains all information about the printdlgex function (or is it not so)? So that it maybe could be possible to "copy" this information anyhow into the 98SE-comdlg32, or into a completely "new" *.dll.

Furthermore I've discovered the advanced print dialog in the sumatrapdf.exe file (with reshack). See attached screenshot SumatraPDF_advanced.png below. So it's a fact that this dialog is a part of SumatraPDF and not of any comdlg32.dll. I suppose that it could be possible to call this dialog in any other way than "wanted" by sumatrapdf.
But I suppose reshack is not enough to realize this (or any of the other ideas)?! :blink:

Attached File  SumatraPDF_advanced.png   65.9KB   6 downloads

#67
jumper

jumper

    2014 All-American Masters HJ'er

  • Member
  • PipPipPip
  • 472 posts
  • OS:98SE
  • Country: Country Flag

2.) Has anybody ever found a solution to solve the printing-problem with Firefox 3 with KernelEx? (Maybe transport the printing-function from Firefox 2.0.0.20 to Firefox 3). Sometimes(!) printing worked with Firefox 3, but it was randomly.

PrintPDF Firefox extension:

Absolute Lifesaver Rated 5 out of 5 stars

by AnotherFred on July 1, 2012 · permalink

Absolute lifesaver. Excellent add-on, does exactly what it says on the tin.

Used with Fx 3.6.28 on Windows 98SE with KernelEx, it overcomes the printing problem and turns an impossible job into a two-step job. On Windows 2000 it produces good quality pdfs every time.

For those who have not yet understood how to use it, either use the menu item under File | Print to PDF ... or customise your Toolbar, and add the icon provided with the extension.


What are the symptoms of the printing problemsPosted Image
Design feedback requested:
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
ComDlg32 wrapper - ComDlgEx meets IpHlpApi wrapper
--status-> PrintDlgExW working in latest SumatraPDF 8^)
Future projects: ImportPatcher40 - dialog interface; Kexter - IP40+Ktree+Kexstubs

#68
jds

jds

    -DOS+

  • Member
  • PipPipPipPip
  • 603 posts
  • OS:98SE
  • Country: Country Flag


2.) Has anybody ever found a solution to solve the printing-problem with Firefox 3 with KernelEx? (Maybe transport the printing-function from Firefox 2.0.0.20 to Firefox 3). Sometimes(!) printing worked with Firefox 3, but it was randomly.

PrintPDF Firefox extension:

Absolute Lifesaver Rated 5 out of 5 stars

by AnotherFred on July 1, 2012 · permalink

Absolute lifesaver. Excellent add-on, does exactly what it says on the tin.

Used with Fx 3.6.28 on Windows 98SE with KernelEx, it overcomes the printing problem and turns an impossible job into a two-step job. On Windows 2000 it produces good quality pdfs every time.

For those who have not yet understood how to use it, either use the menu item under File | Print to PDF ... or customise your Toolbar, and add the icon provided with the extension.


What are the symptoms of the printing problemsPosted Image

Hi jumper,

I've recently installed FF 3.5.20pre, partly due to need of Java support on the desktop, partly due to severe performance issues with FF 8 and 9 on my 466MHz Celeron laptop (strange, as FF 8 performed very well on my former 333MHz P2, which had FineSSE 29 installed, in case that's relevant). I first installed FF 3.5.19, then copied the 3.5.20pre files over this.

Initially, any attempt to print would immediately lock-up FF with an hourglass showing.

So I downloaded ComDlgEx from post #27, patched this with Import Patcher so that it called ComDlg00.dll instead of ComDlg32.dll and placed this in the System directory as ComDlg32.dll, having renamed the original as ComDlg00.dll.

Now when I attempt to print, the print dialogue appears (it didn't before), but when I click OK, FF again locks up, this time without an hourglass showing.

Incidentally, other applications including Opera 12.02 continue to print normally. Also note, the version of KernelEx is 4.5.2 and Kstub 822 is also installed.

Joe.

Edit : Corrected reference to post #22, now post #27.

Edited by jds, 14 September 2012 - 03:40 AM.


#69
jumper

jumper

    2014 All-American Masters HJ'er

  • Member
  • PipPipPip
  • 472 posts
  • OS:98SE
  • Country: Country Flag
>I've recently installed FF 3.5.20pre.... Initially, any attempt to print would immediately lock-up FF with an hourglass showing.

If you had Kstub822 installed, the default definitions would have tried to forward PrintDlgExW to ComDlgKs.dll (from the kstub730 package). If ComDlgKs.dll was missing, the Options message box would have been displayed. Perhaps it popped up under the Firefox window.... There should be a new entry in the log file each time PrintDlgExW is processed--was there one? [note to self: add additional logging of failed forwards in next Kexstubs]

 
>So I downloaded ComDlgEx from post #22, patched this with Import Patcher so that it called ComDlg00.dll instead of ComDlg32.dll and placed this in the System directory as ComDlg32.dll, having renamed the original as ComDlg00.dll.

Both ComDlgEx and ComDlgEx2 from post #22 already reference ComDlg00.dll. There are no references to ComDlg32.dll. Perhaps you patched ComDlgEx.dll from post #27 instead?

Also, the code for PrintDlgExA and PrintDlgExW in post #22 is obsolete. See posts #27-28 for details. ComDlgEx from post #27 or ComDlgKs from Kstub730 should be used as a starting point for experiments. :yes:

 
>Now when I attempt to print, the print dialogue appears (it didn't before), but when I click OK, FF again locks up, this time without an hourglass showing.
>
>Incidentally, other applications including Opera 12.02 continue to print normally. Also note, the version of KernelEx is 4.5.2 and Kstub 822 is also installed.

If you could walk FF3 (with dependencies) through IP35, I'd like to see the .ini file (inside a spoiler would be great). Also, check if printing with Opera 12.02 adds anything to the Kexstubs log file--it may not be using PrintDlgEx.

As always, thank you for experimenting and reporting your findings. :thumbup
Design feedback requested:
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
ComDlg32 wrapper - ComDlgEx meets IpHlpApi wrapper
--status-> PrintDlgExW working in latest SumatraPDF 8^)
Future projects: ImportPatcher40 - dialog interface; Kexter - IP40+Ktree+Kexstubs

#70
MiKl

MiKl

    Member

  • Member
  • PipPip
  • 106 posts
  • OS:98SE
  • Country: Country Flag

Also, the code for PrintDlgExA and PrintDlgExW in post #22 is obsolete. See posts #27-28 for details. ComDlgEx from post #27 or ComDlgKs from Kstub730 should be used as a starting point for experiments. :yes:


Unfortunately I can use only these because with everything that came after that, incl. Kext, I was not able at all to print from SeaMonkey !!!

#71
jds

jds

    -DOS+

  • Member
  • PipPipPipPip
  • 603 posts
  • OS:98SE
  • Country: Country Flag

>I've recently installed FF 3.5.20pre.... Initially, any attempt to print would immediately lock-up FF with an hourglass showing.

If you had Kstub822 installed, the default definitions would have tried to forward PrintDlgExW to ComDlgKs.dll (from the kstub730 package). If ComDlgKs.dll was missing, the Options message box would have been displayed. Perhaps it popped up under the Firefox window.... There should be a new entry in the log file each time PrintDlgExW is processed--was there one? [note to self: add additional logging of failed forwards in next Kexstubs]

Hi jumper,

I had a look but didn't find 'ComDlgKs.dll'. I had probably uninstalled KernelEx and re-installed it for some reason (I do that sometimes). However, no "Options message box" (I presume that means the "print dialogue"?) had appeared. Neither had there been any new entry added to the KStub822 log file, as far as I could tell.

I added the missing 'ComDlgKs.dll', and now (remember, I have the comdlg32 hack in place at this point) FF once again locks up instantly when I try to print, no "print dialogue". Furthermore, I can confirm that no entry is added to the KStub822 log file.

Next I reversed the comdlg32 hack and the FF printing behaviour didn't seem to change.

>So I downloaded ComDlgEx from post #22, patched this with Import Patcher so that it called ComDlg00.dll instead of ComDlg32.dll and placed this in the System directory as ComDlg32.dll, having renamed the original as ComDlg00.dll.

Both ComDlgEx and ComDlgEx2 from post #22 already reference ComDlg00.dll. There are no references to ComDlg32.dll. Perhaps you patched ComDlgEx.dll from post #27 instead?

Also, the code for PrintDlgExA and PrintDlgExW in post #22 is obsolete. See posts #27-28 for details. ComDlgEx from post #27 or ComDlgKs from Kstub730 should be used as a starting point for experiments. :yes:

Sorry, my mistake. That was the post #27 version. I've corrected the previous posting.

>Now when I attempt to print, the print dialogue appears (it didn't before), but when I click OK, FF again locks up, this time without an hourglass showing.
>
>Incidentally, other applications including Opera 12.02 continue to print normally. Also note, the version of KernelEx is 4.5.2 and Kstub 822 is also installed.

If you could walk FF3 (with dependencies) through IP35, I'd like to see the .ini file (inside a spoiler would be great). Also, check if printing with Opera 12.02 adds anything to the Kexstubs log file--it may not be using PrintDlgEx.

As always, thank you for experimenting and reporting your findings. :thumbup

No worries, here's the IP35 ini file after walking the FF3 dependencies :

Spoiler

FF doesn't seem to add anything to the Kstub822 log file when printing. Opera 12.02 adds the line :

= Kernel32.dll:GetUserGeoID=t1 =


Incidentally, I should also point out that FF 8 was printing just fine before I removed it. Finally, I should point out that these are my Kstub822 entries in KernelEx's 'core.ini' :

[DCFG1]
contents=Kstub822,std,kexbases,kexbasen
desc=Default mode

[NT2K.names]
ComDlg32.PrintDlgExA=Kstub822.0
ComDlg32.PrintDlgExW=Kstub822.0

Joe.

Edited by jds, 14 September 2012 - 04:21 AM.


#72
jumper

jumper

    2014 All-American Masters HJ'er

  • Member
  • PipPipPip
  • 472 posts
  • OS:98SE
  • Country: Country Flag
@MiKl: What version of SeaMonkey are you using? See posts #31-33 for SeaMonkey reports.

@Joe: I'm not seeing any indication that FF35 calls PrintDlgEx to print. So the presence of ComDlgKs.dll shouldn't make any difference. :huh:
Please search the FF35 app folder for the text "PrintDlgEx" (else "PrintDlg"). You can also try contents=std,Kstub822,kexbases,kexbasen if "PrintDlgEx" is found.

Edit: I just downloaded and extracted Firefox 3.5.19, SeaMonkey 2.6.1, and Opera USB 12.02. Searching for text, I found that all contain "PrintDlg"; none "PrintDlgEx". My ComDlg?? solutions should have no effect on printing in these apps. :(

Edited by jumper, 14 September 2012 - 10:27 PM.

Design feedback requested:
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
ComDlg32 wrapper - ComDlgEx meets IpHlpApi wrapper
--status-> PrintDlgExW working in latest SumatraPDF 8^)
Future projects: ImportPatcher40 - dialog interface; Kexter - IP40+Ktree+Kexstubs

#73
jds

jds

    -DOS+

  • Member
  • PipPipPipPip
  • 603 posts
  • OS:98SE
  • Country: Country Flag

@Joe: I'm not seeing any indication that FF35 calls PrintDlgEx to print. So the presence of ComDlgKs.dll shouldn't make any difference. :huh:
Please search the FF35 app folder for the text "PrintDlgEx" (else "PrintDlg"). You can also try contents=std,Kstub822,kexbases,kexbasen if "PrintDlgEx" is found.

Edit: I just downloaded and extracted Firefox 3.5.19, SeaMonkey 2.6.1, and Opera USB 12.02. Searching for text, I found that all contain "PrintDlg"; none "PrintDlgEx". My ComDlg?? solutions should have no effect on printing in these apps. :(

Hi jumper,

Well, as you've found, the string "PrintDlgEx" is not to be found in any file within the FF 3.5 directory. Also, I changed the KernelEx "core.ini" per above and this had no effect (on this issue), which is to be expected.

However, despite all this, the "ComDlg32.dll" hack does have some effect. Without it, FF hangs instantly when printing is attempted (showing an hourglass). With it, the print dialogue appears, and if you cancel at this point, FF appears OK. I've just reconfirmed this.

Joe.

#74
MiKl

MiKl

    Member

  • Member
  • PipPip
  • 106 posts
  • OS:98SE
  • Country: Country Flag

However, despite all this, the "ComDlg32.dll" hack does have some effect.


Yepp, I have your comdlg32 from 3/21 in the Seamonkey folder and comdlg32 from 3/13 in the KernelEx folder.
Only in this combination I have good results when trying to print from Seamonkey 2.0.14. !!
Of course, sometimes it chrashes - but overall it is quite reliable.

#75
jumper

jumper

    2014 All-American Masters HJ'er

  • Member
  • PipPipPip
  • 472 posts
  • OS:98SE
  • Country: Country Flag
Joe, please try MiKl's configuration:
  • comdlg32 from 3/21 in the Firefox 3.5 folder
  • and comdlg32 from 3/13 in the KernelEx folder.
 
"[S]hould have no effect" was carefully worded. My ComDlg export-forwards PrintDlgW to the original ComDlg32.00 DLL which should be fine. However, back in Post #28 I wrote: "KernelEx also can't process ComDlg32 functions unless they are imported (not export-forwarded) from a DLL named ComDlg32.dll!" So, my ComDlg by export-forwarding PrintDlgW is bypassing KernelEx's Unicode processing....

To test this theory, try adding this line in Core.ini instead of using my ComDlg(s):
[NT2K.names]
ComDlg32.PrintDlgW=std
BTW, do OpenFile and SaveFileAs work? They should also be affected by my ComDlg32 implementation.

Perhaps I need to export-forward to Unicows.dll instead of ComDlg32. Unicows exports all the wide ComDlg32 functions. Or perhaps that is what Kex is doing.... I'll continue to research the issue.

Edited by jumper, 17 September 2012 - 08:50 PM.

Design feedback requested:
IHAtool - IpHlpApi tester; call various functions and report results
--status-> framework is solid; 22 api's fully supported; preview release coming soon
ComDlg32 wrapper - ComDlgEx meets IpHlpApi wrapper
--status-> PrintDlgExW working in latest SumatraPDF 8^)
Future projects: ImportPatcher40 - dialog interface; Kexter - IP40+Ktree+Kexstubs




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN