2013-10-23 121 views
1

我們有一個爲Windows XP編寫的舊的32位PowerBuilder應用程序(第三方),雖然它在Windows 8下運行,但我們注意到密碼掩碼字符是一個不同大小的字符(XP是一個小黑色圓圈和Windows 8是一個更大的黑色圓圈)。這是一個問題,因爲應用程序的寫入是爲了限制密碼字段中的可用空間(XP中22個字符,而Windows_8中只有13個字符)。我們的密碼策略需要15個字符的最低密碼,當我們在Windows 8中運行應用程序時,顯然這些不適合。密碼掩碼字符

由於字符大小隨操作系統(不是應用程序端)而改變,我們懷疑問題出在.dll文件或PowerBuilder應用程序正在引用的字體。密碼掩碼被調用的時候有什麼想法嗎?

回答

1

作爲解決方法,也許你可以輸入更多的字符,如果你增加的編輯寬度?

您可以試試uuspyWinCheat

如果有幫助,那麼你可以找到一個平均到腳本WM_SIZE的發送到控制或注入一個dll這樣做......

+0

謝謝回答,但我們沒有訪問源代碼。但是,你知道掩碼字符是否存儲在操作系統上的某個特定的dll中嗎?如果是這樣,我們希望將Windows XP中的dll添加到應用程序的可執行文件夾中。你有什麼想法嗎? –

+0

@ForrestKribs:我的答案是專門解決編輯線_從外部修改而無需源代碼。您可以在_run時間更改任何窗口控件的大小,只需發送一條消息即可進行實驗。而且我不知道paswword字體存儲在哪裏。 – Seki

0

恐怕你正在尋找一個複雜的解決方案到一個簡單的問題。

我猜這是一個獨立於DataWindow的(即不在DataWindow對象內)SingleLineEdit。通常有你無法鍵入你想要的所有文字兩方面的原因(無論密碼屬性)進入這些領域之一:

  1. 你有一個非零值的極限屬性設置。但是,由於你的限制不同,這可能不是你的罪魁禍首。
  2. 您有屬性AutoHScroll(自動水平滾動)設置爲FALSE(或未在IDE畫家中選中)。這意味着當字段填充圖形時,不能輸入更多字符。 (這也意味着,使用寬度可變的字體,大多數情況下,你比W更適合於字段;當數據長度很重要時,這不是一個好方法,事實上,它很少是一種好的方法)

您的症狀聽起來像AutoHScroll已關閉(當您在窗口上放置SLE時,默認設置爲打開狀態)。檢查一下,選擇性地將限制屬性設置爲有意義的東西(如果原始意圖限制輸入的字符數,並且它實施得不好),我的猜測是你會很好去。

祝你好運,

特里

+0

感謝您的回覆,不幸的是這是第三方應用程序,我們沒有訪問源代碼。 –