在我使用P/Invoke的C#程序中,我更改了我的窗口的過程地址。 所以我可以對我感興趣的windows消息作出反應。WindowProc何時被調用?
但是什麼時候由系統調用該過程? 我有我在我的自定義過程,並在我的代碼的其餘部分操縱兩個列表。 系統如何決定何時可以或不可以調用過程, 並且有可能會損壞數據?
例如
我將條目添加到我的過程中的列表。
我通讀了列表並處理了我代碼的另一部分中的條目。
在我設法清除列表之前,該過程接管並添加更多條目。
返回到我的代碼的其他部分,列表被清除,新條目將被丟棄而不被處理。
什麼時候沒有關係,你無法控制它,因此你不能依賴它。你的代碼的其他部分應該管理列表中的所有操作。捕獲消息並將其傳遞給列表控制器。 –
爲什麼你可以使用受支持的機制進行黑客攻擊? –
@David我只是重寫WindowProc,所以我可以捕獲消息發送到我的應用程序窗口,以處理用戶輸入(文本和鍵/鼠標)。 –