調用DeleteIpForwardEntry()在Windows XP和Windows 7上工作得非常好。但是,在Windows Vista上,它會因ERROR_ACCESS_DENIED失敗。DeleteIpForwardEntry訪問在Vista上被拒絕
該文檔顯示「用戶在本地計算機上缺少必需的管理權限,或者該應用程序未作爲內置管理員(RunAs管理員)在增強型shell中運行。」
那麼,在我的情況下,用戶是本地計算機上的管理員,並通過SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run登錄時運行該應用程序,因此我無法真正地告訴它在「增強的外殼」。
有沒有辦法在Vista中解決這個「Catch 22」的情況?
Steve,謝謝你+1的回答。我必須仔細檢查你對用戶的問題,但我幾乎可以肯定的是,在Vista和7中,他們只是安裝程序(XP中的「超級用戶」)創建的默認管理員。至於重新實現這個作爲一個Windows服務,我想過這個選項,但這肯定需要更多的工作在我身邊。 – 2010-12-08 18:50:41