2010-12-09 55 views
1

當我們按移位 + 刪除鍵,生成一個刪除確認對話框。我想根據需要處理此對話框或更改其消息。任何人都可以告訴我該對話的責任是什麼?如何覆蓋或自定義Windows中的刪除確認對話框?

我要麼需要知道哪些處理由 + 在Windows XP中刪除鍵序列,或者我們可以控制這一操作的代碼生成的刪除確認對話框中的代碼。

+2

您能解釋一下爲什麼要控制對話框嗎?你想防止任何移位刪除操作? – gideon 2010-12-09 04:59:22

+1

你想完成什麼,除了與刪除確認對話框混亂? – Thanatos 2010-12-09 04:59:58

回答

3

我不認爲你想做的事情會很有趣。

即時猜測你必須攔截SHFileOperation function(和IFileOperation界面的Vista起)

這裏什麼我的谷歌富了我的WINAPI攔截: http://www.codeproject.com/kb/system/hooksys.aspx

你可能想看看這個:http://easyhook.codeplex.com/

該項目支持擴展 (掛鉤)非託管代​​碼(API)來與 純管理的,使用 的Windows 2000 SP4及更高版本,如C#完全 管理的環境中......

祝您好運! =)

1

如果您只想混淆對話框(更改顯示的文本,圖像等),您可以嘗試使用免費工具(如Resource Hacker)修改資源。

「刪除」對話框資源位於Windows XP的shell32.dll中(您只提到該版本的Windows);火起來的資源黑客和開放的shell32.dll中,然後搜索警示文字「您確定要刪除」,你會發現:

CONTROL "Are you sure you want to delete '%1'?", 12295, STATIC, SS_LEFT | SS_NOPREFIX | WS_CHILD | WS_VISIBLE | WS_GROUP, 41, 10, 220, 28 

現在這僅僅是靜態文本,但整個對話定義(按鈕等)應該在這裏。我認爲這樣你可以使它成爲一個簡單的警告對話框 - 例如。 「你被禁止刪除任何東西!」並只有一個「取消」按鈕。