1

We have an old 32bit PowerBuilder application (3rd party) that was written for Windows XP and, although it runs under Windows 8, we have noticed that the password masking character is a different sized character (XP is a small black circle and Windows 8 is a larger black circle). This is a problem because the application was written to limit the space available in the password field (22 characters in XP but only 13 in Windows_8). Our password policies require 15-character minimum passwords, and obviously these wont fit when we run the application in Windows 8.

Because the character sizes change with the operating system (not application side), we suspect the problem is with a .dll file or a font that is being referenced by the PowerBuilder application. Are there any ideas where the password mask is being called?

4

2 回答 2

1

作为一种解决方法,如果您增加编辑宽度,也许您可​​以输入更多字符?

您可以尝试使用uuspyWinCheat

如果它有帮助,那么您可以找到一种方法来编写将 a 发送WM_SIZE到控件的脚本或注入一个 dll 来执行此操作...

于 2013-10-24T09:03:24.810 回答
0

恐怕您正在寻找一个简单问题的复杂解决方案。

我猜这是一个独立于 DataWindow(即不在 DataWindow 对象内)的 SingleLineEdit。通常有两个原因,您无法将所需的所有字符(无论密码属性如何)输入到这些字段之一中:

  1. 您在 Limit 属性中设置了一个非零值。但是,由于您的限制各不相同,这可能不是您的罪魁祸首。
  2. 您将属性 AutoHScroll(自动水平滚动)设置为 FALSE(或在 IDE 画家中未选中)。这意味着当该字段以图形方式填满时,您无法输入更多字符。(这也意味着,对于可变宽度字体,大多数情况下,你在字段中的 i 比 W 更多;当数据长度很重要时,这不是一个好方法。事实上,它很少是一个好方法完全没有。)

您的症状听起来像 AutoHScroll 已关闭(默认为在您放下时打开,SLE 在窗口上)。检查重新打开,可选择将 Limit 属性设置为有意义的值(如果最初的意图限制输入的字符数,并且执行得不好),我猜你会很高兴.

祝你好运,

特里

于 2013-10-24T13:54:23.893 回答