WIN.INI [兼容性] 部分

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 82860
3.10 3.11 WINDOWS kbenv
本文讨论了 Microsoft Windows 版本 3.1 WIN.INI [兼容性] 部分。
在以下应用程序 WIN.INI 文件中的 [兼容性] 部分中定义的兼容性位:

  • Microsoft Publisher
  • Microsoft 资金
  • Microsoft 的工作原理
  • WordPerfect
  • 莲花兼职翻译
  • 抄送邮件
  • Microsoft Visual Basic
  • Ami Pro
  • pixie
  • ObjectVision
  • 板球提供
  • 只写
  • ExploreNet
  • Aporia
  • Packrat
  • Microcourier
  • 指南
  • Microsoft Excel
  • MGX 绘图
  • AccPack
  • charisma
  • 说服
  • 入站
  • lotus Notes
  • Microsoft 绘图
  • Turbo 税
当应用程序加载 Windows 3.1 下时,KERNEL.EXE 会检查是否专为 Windows 3.1 编译应用程序。如果应用程序为 Windows 3.0 编译,并将因此 Windows 3.0 或 3.1 下运行,KERNEL.EXE 检查模块名称,并确定如果为 WIN.INI 文件的 [兼容性] 部分中的该名称定义了任何位。

下面是详细的说明的兼容性位数。在 $ WINDOWS.H 中定义符号的名称。如果定义了兼容性位,将会修复该问题列出为每个的应用程序。如果这些开关的 WIN.INI 文件 [兼容性] 部分中将不会产生这些问题。Windows 3.1 安装程序自动将这些开关插入该 WIN.INI 无论该应用程序在计算机上。

符号的名称只是内部,它们不是在 WINDOWS.H 附带的软件开发工具包 (SDK) 中。

位: 1

Symbolic name: GACF_IGNORENODISCARDMeaning: Ignore NODISCARD flag if passed to GlobalAlloc(). C 6.x         Runtime install library was allocating global memory         improperly by incorrectly specifying the GMEM_NODISCARD bit.Apps:   Publisher      WIN.INI Line: notshell=0x0001      Problem: Setup for MS apps. does not work on 1M 286 machine.   Money      WIN.INI Line: notshell=0x0001      Problem: Setup for MS apps. does not work on 1M 286 machine.   Works      WIN.INI Line: notshell=0x0001      Problem: Setup for MS apps. does not work on 1M 286 machine.				

位: 2

Symbolic name: GACF_FORCETEXTBANDMeaning: Separate text band from graphics band. Forces separate band         for text, disallowing 3.1 optimization where Text and         Graphics are printed in the same band. Word Perfect was         assuming text had to go in second band.Apps:   WordPerfect      WIN.INI Line: WPWINFIL=0x0006      Problem: Can't print graphics in landscape mode. The               compatibility switch doesn't completely fix the               problem, just fixes it for certain memory               configurations.   Freelance      WIN.INI Line: rem=0x8022      Problem: Freelance couldn't print presentation (.pre) files.				

位: 4

Symbolic name: GACF_ONELANDGRXBANDMeaning: One graphics band only. Allows only one Landscape graphics         band. Take as much memory as possible for this band. What         doesn't fit in that band doesn't print.Apps:   WordPerfect      WIN.INI Line: WPWINFIL=0x0006      Problem: Can't print graphics in landscape mode. The               compatibility switch doesn't completely fix the               problem, just fixes it for certain memory               configurations.				

位: 8

Symbolic name: GACF_IGNORETOPMOSTMeaning: Ignore topmost windows for GetWindow(HWND,GW_HWNDFIRST)Apps:   CCMail      WIN.INI Line: ccmail=0x0008      Problem: CCMail would GP fault when running any Windows applet               from CCMail because it assumed the applet it starts               will be at the top of the window list when winexec               returns. Because of the addition of TOPMOST windows in               Win 3.1, this isn't the case.  The compatibility bit               fixes this so GetWindow doesn't return a topmost               window.				

位: 10

Symbolic name: GACF_CALLTTDEVICEMeaning: Set the DEVICE_FONTTYPE bit in the FontType for TT fonts         returned by EnumFonts().Apps:   Ami Pro      WIN.INI Line: Amipro=0x0010      Problem: Font mapping problems, described below.   WordPerfect      WIN.INI Line: win2wrs=0x1210      Problem: WordPerfect was assuming TT fonts enumerated by the               printer would have the device bit set. TT fonts are not               device fonts, so this bit wasn't set. There were               various font mapping problems, such as TNR appearing in               Script or Symbol.				

位: 20

Symbolic name: GACF_MULTIPLEBANDSMeaning: Manually break graphics output into more than one band when         printing.Apps:   Freelance      WIN.INI Line: Rem=0x08022      Problem: Freelance wouldn't print graphics when there was enough               memory and unidrv used only one band for printing. If               the first band was the entire page, it didn't issue any               graphics calls, thinking it was the text only band.               This forces unidrv to use multiple bands.				

位: 40

Symbolic name: GACF_ALWAYSSENDNCPAINTMeaning: SetWindowPos() must send a WM_NCPAINT message to all         children, disallowing the 3.1 optimization where this message         is only sent to windows that must be redrawn.Apps:   Pixie      WIN.INI Line: pixie=0x0040      Problem: File window overlaps the toolbox and doesn't repaint               when a new file is opened.  Pixie used the receipt of               WM_NCPAINT messages to determine that they may need to               reposition themselves at the top of the list.  Win 3.0               used to send the messages to windows even when they               didn't need to be sent; in particular if the window was               within the bounding rect of any update region involved               in a window management operation.   ObjectVision      WIN.INI Line: Vision=0x0040      Problem: Repaint problems with dialog boxes left on the screen               after or operations.   Cricket Presents      WIN.INI Line: cp=0x0040      Problem: Tool window is not available when opening the app.				

位: 80

Symbolic name: GACF_EDITSETTEXTMUNGEMeaning: Strings that are passed to Edit Controls by WM_SETTEXT are         forced to upper case. Just Write was expecting this         behavior, which was a bug in 3.0.Apps:   Just Write      WIN.INI Line: JW=0x42080      Problem: Just Write wouldn't change the extension in the      dialog when opening a file of a different               format. Just Write calls SetDlgItemText to set the               default extension in edit controls during WM_INITDIALOG               processing. SetDlgItemText ultimately calls text               insert routine which had a bug in 3.0 where it               converted the case of the text passed in dependent on               edit control style. Thus, under 3.0, SetDlgItemText               was (wrongly) modifying the string passed in. The app               has worked around the bug in 3.0 and is now failing in               3.1 since the bug has been fixed. The compatibility               bit reverts to 3.0 behavior.				

位: 100

Symbolic name: GACF_MOREEXTRAWNDWORDSMeaning: Add 4 to the extra bytes (CBWNDEXTRA) in the window instance         and class instance structures. In Windows 3.0, even if you         didn't allocate extra window/class words, you could still         access them and corrupt Windows internally. In Windows 3.1,         you are prevented from accessing extra words you didn't allocate         so that apps won't corrupt windows. This switch forces         extra words for all classes/windows created by the given         application.Apps:   Compton's MM Ency      WIN.INI Line: TME=0x0100      Problem: Crashes choosing atlas. Caused by not initializing the               WNDCLASS.cbWndExtra field.   ExploreNet      WIN.INI Line: netset2=0x0100      Problem: Application error selecting update in "Input Form"               window. Caused by the app specifying 0 extra bytes               when creating the window class.   Aporia 1.4      WIN.INI Line: aporia=0x0100      Problem: Aporia icons don't appear on the desktop. Hangs the               system. App says it wants 1 extra byte in the               RegisterClass, then does a SetWindowWord (2 bytes),               then GetWindowLong (4 Bytes).				

位: 200

Symbolic name: GACF_TTIGNORERASTERDUPEMeaning: Don't enumerate Duplicate bit map fonts for TT fonts. Times         New Roman was displayed and printed as a vector font. We         install bit map fonts for Arial and Times New Roman at sizes         8,10 (EGA resolution). When we enumerate fonts for face names         Arial and Times New Roman, we would enumerate the sizes         available in the bit map fonts and one size for the         corresponding true type font. This confused the font mapper         in WordPerfect. It would somehow get confused into believing         that a TNR font was available for only the two bit map sizes         and map a request for a larger size to a Roman vector font.Apps:    Word Perfect      WIN.INI Line: Win2wrs=0x01210      Problem: Some fonts displayed as vector fonts. GDI will not               enumerate raster fonts which have the same face or               family name as a TT font if TT is enabled and the               compatibility bit is set.    Visual Basic       WIN.INI Line: vb=0x0200       Problem: Reports duplicate font sizes.				

位: 800

Symbolic name: GACF_DELAYHWHNDSHAKECHKMeaning: Don't check hardware handshaking on SetCommState(). Do not         check hardware handshaking (CTS and DSR) on SetCommState().         (Reverts to 30 behavior.) Packrat could not Dial. It only         checked for DSR, but this is not set until carrier detect. A         bug existed in win30 where SetCommState never checked DSR and         CTS. If a serial printer was off-line, data would be sent to         the COM port anyway, causing lost data.Apps:    Packrat      WIN.INI Line: packrat=0x0800      Problem: Packrat didn't dial using modem on COM2.    Microcourier      WIN.INI Line: mcourier=0x800      Problem: Couldn't connect to modem using COM2.				

位: 1000年

Symbolic name:  GACF_ENUMHELVNTMSRMNMeaning: Enumerates TmsRmn and Helv. Some apps are broken because they         relied on 3.0 fonts Helv and Tms Rmn by name. Font         Substitution covers much of these problems but we cannot         legally enumerate Helv and Tms Rmn for future apps, so it was         dropped. We still have the exact same fonts, but now under         the names MS Sans Serif and MS Serif, and will enumerate them         as Helv and Tms Rmn when this bit is set. (We are allowed to         do this for backwards compatibility.)Apps:    Spinnaker +      WIN.INI Line: plus=0x01000      Problem: Text alignment and spacing problems in buttons and               titles. Fix only works if Smallfonts come after serif               and sans serif entries. Setup does this automatically.    Milestones, etc.      WIN.INI Line: milesv3=0x1000      Problem: Text is unreadable when the app is started. App does               its own font mapping and gets confused when it can't               find Tms Rmn.    Guide      WIN.INI Line: guide=0x1000      Problem: Text problems.    Excel      WIN.INI Line: Excel=0x1000      Problem: Can't get past point where you have to enter a point               size in the tutorial.    WordPerfect      WIN.INI Line: win2wwrs=0x1210      Problem: Uses a vector font for TmsRmn.				

位: 2000年

Symbolic name:  GACF_ENUMTTNOTDEVICEMeaning: Turns off DEVICE_FONTTYPE. Some apps fail to enumerate more         that one size of true type fonts because they interpret the         DEVICE_FONTTYPE flag incorrectly. They assume the font must         be device resident and disregard the case where the font is         downloaded (as TT can be).  Therefore, when TT is correctly         enumerated with the device bit set, the apps check the device         capabilities to see if the printer can scale fonts. If the         device cannot, the app assumes one size of for the current         font. This problem is not seen on postscript printers which         can download and scale fonts, nor on dot matrix printers         which cannot download fonts. This Compatibility bit simply         checks all the above conditions and selectively turns the         DEVICE_FONTTYPE off.Apps:    Pagemaker 4.0      WIN.INI Line: pm4=0x2000      Problem: Not all point sizes listed for some printers.    Designer 3.1      WIN.INI Line: designer=0x2000      Problem: Font size reverts to 6 point when selecting a TT font               in the font dialog.    Ascend 3.1      WIN.INI Line: planner=0x2000      Problem: TT fonts only allow one point size.    MGXDraw 3.0      WIN.INI Line: draw=0x2000      Problem: Shows no font sizes for TT fonts.    AccPack      WIN.INI Line: winsim=0x2000      Problem: Lists only one point size for TT fonts.    Charisma      WIN.INI Line: charisma=0x2000      Problem: Not all point sizes listed for some printers.    Persuasion      WIN.INI Line: pr2=0x2000      Problem: Lists only one point size for TT fonts.    Just Write      WIN.INI Line: jw=0x42080      Problem: Lists only one or two point sizes for TT fonts.				

位: 4000

Symbolic name:  GACF_SUBTRACTCLIPSIBSMeaning:  This flag affects the way window invalidation works for non-          WS_CLIPSIBLINGS parent windows and their children (e.g.,          dialog boxes and dialog controls). Normally, if two          children of a non-WS_CLIPSIBLING parent overlap, and an area          that contains both of those windows is invalidated (either          by a call to InvalidateRect or through window          rearrangement), both of the windows will get invalidated,          even if one or both is WS_CLIPSIBLINGS. With          GACF_SUBTRACTCLIPSIBS, any sibling window underneath a          WS_CLIPSIBLINGS window will not be invalidated in the part          of the window that is beneath the WS_CLIPSIBLINGS window.          This situation arises most commonly when windows that are          supposed to appear overlapped don't seem to overlap          properly. Applications that implement drop down combo boxes          as child windows of dialog boxes will exhibit this problem          (e.g., Lotus Notes 2.1 drive drop downs). It's often hard to          tell whether a drop down is implemented as a top-level          window (e.g., the Windows system combo boxes) or as a child          window -- if there seem to be overlapping problems, then          GACF_SUBTRACTCLIPSIBS could be the solution.Apps:    Lotus Notes 2.0 & 1      WIN.INI Line: _BNOTES=0x24000      Problem: Pull down drive list box pops down behind a list box               which is already on the screen.    Ingress      WIN.INI Lines: wagl=0x4000                     waglr=0x4000      Problem: Overlapping child controls.				

位: 8000

Symbolic name: GACF_FORCETTGRAPHICSMeaning:Apps:    Freelance      WIN.INI Line: rem=0x8022      Problem: Freelance wouldn't print TT unless print TT as graphics               was selected.				

位: 10000

Symbolic name: GACF_NOHRGN1Meaning:  This bit affects applications that depend on a bug in the          3.0 GetUpdateRect() function. Under 3.0, GetUpdateRect          would not always return the rectangle in logical DC          coordinates: if the entire window was invalid, the rectangle          was sometimes returned in window coordinates. This bug was          fixed for 3.0 and 3.1 apps in Windows 3.1: coordinates are          ALWAYS returned in logical coordinates. This bit re-          introduces the bug in GetUpdateRect(), for those          applications that depend on this behavior.Apps:    MSDraw      WIN.INI Line: ED=0x00010000      Problem: Canvas not redrawn properly opening specific MSDraw               objects in Winword.				

位: 20000

Symbolic name: GACF_NCCALCSIZEONMOVEMeaning: 3.1 optimized WM_NCCALCSIZE if a window was just moving,         where 3.0 always sent it. This bit causes it to be sent         always, as in 3.0.Apps:    Lotus Notes      WIN.INI Line: _BNOTES=0x24000      Problem: Navigator bar of window fails to redraw when the window               is moved across the desktop.				

位: 40000

Symbolic name: GACF_SENDMENUDBLCLKMeaning: Passes double-clicks on a menu bar on to the app. With this         bit set, if the user double clicks on the menu bar when a         menu is visible, we end processing of the menu and pass the         double click message on to the application. This allows Just         Write to detect double click on the system menu of a         maximized MDI child.    The normal (and expected) behavior is         for Windows to detect the double click on a sys menu of a         maximized child and send the app a WM_SYSCOMMAND SC_CLOSE         message which is what happens with a non-maximized MDI child         window.Apps:    Just Write      WIN.INI Line: JW=0x00042080      Problem: Sub-editors (such as footer and header editors)               couldn't be closed by double-clicking the system menu.				

位: 80000

Symbolic name: GACF_30AVGWIDTHMeaning: Changed the way we calculate avg width, this fixes it for         postscript. Scale all fonts by 7/8. This flag has been         added for TurboTax for printing with pscript driver. Turbo         Tax has hard coded average width it uses for selecting fonts.         Since we changed the way we calculate avg width to match what         is in TT, Turbo Tax is broken.Apps:    TurboTax      WIN.INI Line: turbotax=0x80000      Problem: 1040 tax forms wouldn't print correctly.				
如果第三方供应商在他们的应用程序中解决该问题,它们重新可以编译它,以便它需要 Windows 3.1 ; 将不会使用兼容性位。如果第三方 vedor 想他们 Winodws 3.0 和 3.1 下运行的应用程序,然后他们可以更改模块名称,或编辑该 WIN.INI。
3.10 位图


文章 ID:82860 - 上次审阅时间:12/04/2015 09:13:35 - 修订版本: 1.0

Microsoft Windows 3.1 标准版, Microsoft Windows 3.11 标准版

  • kbnosurvey kbarchive kbmt KB82860 KbMtzh