2009-09-25 22 views
0

我正在使用32位安裝程序,它必須在Win XP以上的環境中運行。我們遇到了一個問題,我們必須在Windows 2k3 x64下刪除註冊表的x64部分上的註冊表項。如何在不使用C++中的RegDeleteKeyEx的情況下刪除64位樹中Windows x64中的註冊表項?

用RegDeleteKeyEx很容易,但我不能分發可能調用該函數的可執行文件,因爲它不能在Windows XP上運行。我可以很輕鬆地得到關鍵的句柄,但我不明白我應該如何刪除它。

我無法使用RegDeleteKey,因爲註冊表重定向會阻止我在x64平臺上的工作。我很生氣,我不能只傳遞一個句柄給我的鍵和一個空/空的子鍵字符串。我不敢相信這個API太破碎了。我錯過了什麼嗎?

我現在唯一的想法是調出一個註冊表文件或一個單獨的可執行文件來爲我完成這項工作,但這只是令人難以置信的醜陋,只會讓更糟糕的解決方法變得更糟。有沒有更好的辦法?

回答

相關問題