Microsoft Windows Tips and tricks



HP Color Laserjet 5/5M PCL 5c Drivers


There are different versions of such printer (all with native 300DPI max resolution):

  1. C3960A/C3961A HP Color LaserJet 5 with 20MB RAM (up to 96MB)
  2. C3962A HP Color LaserJet 5M with 36MB RAM (up to 92MB), PostScript'tm level 2 SIMM, JetDirect card
Toners Kits
  1. HP C3105A Black Toner
  2. HP C3104A Magenta Toner
  3. HP C3103A Yellow Toner
  4. HP C3102A Cyan Toner

If you are using this model of printer in Windows Vista/7/2008 or later (either x86 or x64 version) there is a driver for PostScript(PS)-based (with PS Language SIMM C3963A) only.

But if you have such printer without PostScript(PS) option there is NO OFFICIAL DRIVER. So I've made it by myself.

Here it is HP Color Laserjet 5 driver for Windows Vista/7/2008 x86/x64 and later. It support HP Color Laserjet 5 printer in PCL5c printing mode. For newer (mostly x64) versions of Windows disabling of signing check for drivers is required!


Backporting Mozilla (FireFox, SeaMonkey)


Prerequisites for building Mozilla FireFox/SeaMonkey in MS Windows environment for Windows NT/2000:

Mozilla SeaMonkey 2.11 corrections list for MS Windows 2000

  1. GetAdaptersAddresses
    \mozilla-build\msys\src\mozilla\netwerk\system\win32\nsNotifyAddrListener.cpp
    

    fix: change

    nsNotifyAddrListener::CheckAdaptersAddresses(void)
    to
    {
    OutputDebugString("GetAdaptersAddresses() SUCCESS");
    return ERROR_SUCCESS;
    }
  2. GetProcessId
    \mozilla-build\msys\src\mozilla\xpcom\threads\nsProcessCommon.cpp
    change
    mPid = GetProcessId(mProcess);
    to
    OutputDebugString("GetProcessId() 0");
    mPid = 0;
  3. InitializeSListHead, InterlockedPopEntrySList, InterlockedPushEntrySList
    \mozilla-build\msys\src2\mozilla\content\media\nsAudioStream.cpp
    rem all with #ifdef MOZ_CUBEB ... #endif
    \mozilla-build\msys\src\mozilla\media\libcubeb\src\cubeb_winmm.c
    edit and clean cubeb_winmm.c
    // # ac_add_options --disable-ogg
    // # ac_add_options --disable-raw
  4. IsWow64Process
    \mozilla-build\msys\src\mozilla\netwerk\protocol\http\nsHttpHandler.cpp
    comment
    //        if (!IsWow64Process(GetCurrentProcess(), &isWow64)) {
    //            isWow64 = FALSE;
    //        }
    add OutputDebugString(L"IsWow64Process()");
  5. SetDllDirectoryW
    \mozilla-build\msys\src\mozilla\toolkit\xre\nsWindowsWMain.cpp 
    \mozilla-build\msys\src\mozilla\ipc\app\MozillaRuntimeMain.cpp 
    \mozilla-build\msys\src\mozilla\dom\plugins\base\nsPluginsDirWin.cpp 
    \mozilla-build\msys\src\mozilla\dom\plugins\ipc\PluginProcessChild.cpp
    rem-out
    SetDllDirectoryW(L"");
    add
    OutputDebugString(L"SetDllDirectory()");
  6. SHEnumerateUnreadMailAccountsW
    \mozilla-build\msys\src\mailnews\base\src\nsMessengerWinIntegration.cpp
    remove {} block in nsMessengerWinIntegration::RemoveCurrentFromRegistry()
    OutputDebugString("SHEnumerateUnreadMailAccountsW()");
  7. SHOpenFolderAndSelectItems
    \mozilla-build\msys\src\mozilla\xpcom\io\nsLocalFileWin.cpp
    twice! change
    hr = SHOpenFolderAndSelectItems(dir, count, selection, 0);
    to
    OutputDebugString(L"SHOpenFolderAndSelectItems()");
    ShellExecute(NULL, L"open", mResolvedPath.get(), NULL, NULL, SW_SHOW);
  8. SHParseDisplayName
    \mozilla-build\msys\src\mozilla\uriloader\exthandler\win\nsMIMEInfoWin.cpp
    change
    if (SUCCEEDED(SHParseDisplayName(utf16Spec.get(),NULL, &pidl, 0, &sfgao))) {
    to
    		OutputDebugString(L"shellFolder->ParseDisplayName()");
    		IShellFolder *shellFolder;
    		SHGetDesktopFolder(&shellFolder);
        // Bug 394974
        if (SUCCEEDED(shellFolder->ParseDisplayName(NULL, NULL, (LPWSTR)utf16Spec.get(), NULL, &pidl, NULL))) {
  9. SHSetUnreadMailCountW
    \mozilla-build\msys\src\mailnews\base\src\nsMessengerWinIntegration.cpp
    rem it and add
    OutputDebugString("SHSetUnreadMailCountW()");
  10. UXTHEME.DLL calls IsAppThemed IsThemeBackgroundPartiallyTransparent GetTheme CloseThemeData DrawThemeBackground DrawThemeEdge GetCurrentThemeName GetThemeBackgroundContentRect GetThemeBackgroundRegion GetThemeColor GetThemeMargins GetThemePartSize OpenThemeData
    \mozilla-build\msys\src\mozilla\widget\windows\nsLookAndFeel.cpp 
    \mozilla-build\msys\src\mozilla\widget\windows\nsNativeThemeWin.cpp 
    \mozilla-build\msys\src\mozilla\widget\windows\nsUXThemeData.cpp
    \mozilla-build\msys\src\mozilla\widget\windows\nsWindow.cpp
    
    rem it nsNativeThemeWin::DrawWidgetBackground ... explicit call ClassicDrawWidgetBackground

in \mozilla-build\msys\src\config\config.mk:

make command (one of these):

How to make omni.ja:

pkzipc -add -move -rec -dir omni chrome\*.png chrome\*.css chrome\*.xul chrome\*.js chrome\*.xhtml chrome\*.html chrome\*.wav chrome\*.xml chrome\*.gif chrome\*.svg chrome\*.manifest chrome\*.properties chrome\*.dtd chrome\*.xsl chrome\*.rdf
pkzipc -add -move -rec -dir omni components\*.js components\*.manifest components\*.xpt
pkzipc -add -move -rec -dir omni defaults\*.js defaults\*.css defaults\*.html defaults\*.rdf
pkzipc -add -move -rec -dir omni hyphenation\*.*
pkzipc -add -move -rec -dir omni modules\*.*
pkzipc -add -move -rec -dir omni res\*.*
pkzipc -add -move -rec -dir omni greprefs.js update.locale chrome.manifest
pkzipc -add -move -rec -dir omni js.exe mangle.exe nsinstall.exe shlibsign.exe xpcshell.exe
ren omni.zip omni.ja

Mozilla SeaMonkey 2.11 corrections list for MS Windows NT 4.0

  1. Remove these function calls:
    AddFontMemResourceEx
    ConvertSidToStringSidW
    ConvertStringSecurityDescriptorToSecurityDescriptorW
    CreateToolhelp32Snapshot
    EnumDisplayMonitors
    FileEncryptionStatusW
    GetFontUnicodeRanges
    GetGlyphIndicesW
    GetGuiResources
    GetLastInputInfo
    GetMonitorInfoW
    GetProcessImageFileNameW 
    GetProcessIoCounters
    GetTraceLoggerHandle
    InitSecurityInterfaceW
    Module32First
    Module32FirstW
    Module32Next
    Module32NextW
    MonitorFromRect
    MonitorFromWindow
    OpenThread
    RegisterTraceGuidsW
    RegisterWaitForSingleObject
    RemoveFontMemResourceEx
    TraceEvent
    UnregisterTraceGuids
    UnregisterWaitEx
    UpdateLayeredWindow
  2. Change/rewrite these function calls:
    FlashWindowEx to FlashWindow
    GlobalMemoryStatusEx to GlobalMemoryStatus
    SHGetFolderPathW - link with shfolder.lib
    GetCharWidthI to GetCharWidth32 ?
    GetLongPathNameW (to GetLongPathName) in
    #define COMPILE_NEWAPIS_STUBS // mostly 1 time enable!
    #define WANT_GETLONGPATHNAME_WRAPPER
    #include "NewAPIs.h"

    GetTextExtentExPointI to GetTextExtentExPoint
    ImmAssociateContextEx to ImmAssociateContext (imm32.dll)
    InSendMessageEx to (InSendMessage() == TRUE)
    SHGetFolderPathW - link to shfolder.lib
    SHGetSpecialFolderPathW replace to ?
    **********************
    BOOL UtilGetSpecialFolderPathW (
    WCHAR *path,     // Path buffer
    int folder)     // Special folder ID
    {
        ITEMIDLIST *pidl;    // Shell Item ID List ptr
        IMalloc    *imalloc;   // Shell IMalloc interface ptr
        BOOL result;    // Return value
    
        if (SHGetSpecialFolderLocation (NULL, folder, &pidl) != NOERROR)
            return FALSE;
    
        result = SHGetPathFromIDListW (pidl, path);
    
        if (SHGetMalloc (&imalloc) == NOERROR) {
            imalloc->Free(pidl); // use in cpp code
            imalloc->Release();
            //imalloc->lpVtbl->Free (imalloc, pidl); // use in c code
            //imalloc->lpVtbl->Release (imalloc);
        }
    
        return result; 
    }
    

Cumulative Updates and Windows Update Troubleshooting


Here is a list of updates helping troubleshoot windows update problems:

For Windows Vista REQUIRED:

OPTIONAL (if IE9 is installed):

Security protocols Issues for Windows XP/2003


Here is a list of updates helping troubleshoot security protocols problems:

How to enable TLS protocol after installing necessary updates:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000

Direct3D, DirectDraw, DirectShow, DirectX, Microsoft, MS-DOS, Visual C++, Win32, Win32s, Windows, Windows XP, Windows 2003 Server and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Home page

E-Mail: bearwindows_at_fastmail_dot_com | Last update: December 1st 2017