2010-02-03 82 views
1

所有這些年來,我已經成功地將EnumServicesStatus與OpenScManager(使用SC_MANAGER_ENUMERATE_SERVICE)結合使用來獲取計算機上安裝的服務的列表。從NT 4到Vista,這一直運行良好。EnumServicesStatus和Windows 7

現在,出於某種原因,在Windows 7中,我沒有得到已安裝服務的整個列表,但只有其中的一小部分。沒有錯誤,只是一個非常不完整的服務列表

在Windows 7中有什麼變化?我現在是否需要行政權力來列舉服務(我希望情況並非如此)?使用德爾福2010年,但相同的代碼是在D2007工作文件。

回答

1

我不認爲這裏有什麼改變。這會導致與舊軟件的巨大不兼容。但D2007使用了ansi版本ENUM_SERVICE_STATUSA,我認爲D2010會調用unicode版本ENUM_SERVICE_STATUSW。也許你正在對結果進行一些處理,假設當你獲得Unicode時結果是ANSI?只是猜測。

+0

將檢查了這一點,但你可能會在這裏。 – Lobuno