從我需要的最終結果開始: 客戶可以在安裝過程中將正確格式的產品密鑰從剪貼板粘貼到輸入框中。是否可以粘貼到Windows安裝程序中的遮罩編輯控件?
我在哪裏分鐘: 我們使用WiX創建我們的MSI。我們目前使用可以正常工作的蒙面編輯控件。按下「下一步」按鈕時,產品密鑰驗證已使用自定義操作完成。產品密鑰驗證應保持不變,只有輸入方法是問題。
我已經花了最後一天研究實現這一目標的可能方法,並有一些想法,但我不確定它們中的任何一個都可以工作。我已經排除了試圖觸發粘貼的自定義操作,因爲我知道MSI無法捕獲該事件。
所以,我的想法是'從剪貼板粘貼'按鈕。這將觸發一個自定義操作,捕獲剪貼板項目,決定它是否看起來像產品密鑰(這將是簡單的部分),然後以某種方式將其粘貼到編輯控件中。請注意我如何說編輯控件,我不確定它是否完全有可能使用蒙版編輯控件,我不確定它甚至可以使用標準編輯控件。我已經有了一個自定義操作,它可以檢查許可證文本是否已被查看,這是通過找到許可證所在的窗口和'richedit'類窗口並檢索滾動位置來實現的。我以爲這種方法可能允許我將編輯控件設置爲剪貼板上的鍵,但我不確定這是否可行。
我已經閱讀了關於編寫我自己的UI控制器的可能性。我知道這是一項艱鉅的任務,但現階段沒有排除任何事情,我不知道從哪裏開始。
我最後的想法,雖然我沒有想過如何實現,但將改變我的屏蔽編輯控制爲標準的編輯控件,這顯然允許粘貼完整的產品密鑰,雖然沒有使用自定義操作,以驗證它是在正確的格式,我仍然不會進一步前進。但是,如果客戶要手動輸入產品密鑰,那麼這將需要某種自動添加破折號。
任何人都可以闡明我的任何想法的可行性,以及如何實現他們或任何其他方式來實現我的目標?
大多數人只是使用標準的編輯控件,讓他們的CA做驗證。你是對的,MaskedEdit控件不能處理這個。 「從剪貼板」的概念很有趣。我從來沒有試圖這樣做,但也許我會找到一些空閒時間來放棄它。 –