2011-04-07 93 views
1

我試圖在Windows 7 64位上註冊redmon monitor。這裏是我使用的代碼示例:如何使用AddMonitor()在Windows 7 64位下添加redmonnt.dll

MONITOR_INFO_2 info; 
info.pName = "RedmonMonitor"; 
info.pEnvironment = "Windows x64"; 
info.pDLLName = "redmonnt.dll"; 
SetPrivilege("SeLoadDriverPrivilege",TRUE); 
AddMonitor(NULL, 2, (LPBYTE)&info); 

它在指定「Windows NT x86」環境的WinXP上完美工作。在Windows 7上,AddMonitor()返回FALSE,GetLastError()返回0.

在調用redmonnt.dll時已經複製到「C:\ Windows \ system32」(也會自動出現在「C:\ Windows \ Syswow64" 資料)。

此外,我試用Wow64DisableWow64FsRedirection()作爲建議here,沒有幫助。

我嘗試了「Windows NT x86」和「Windows x64」環境值。

使用想法here關於試圖以管理員身份啓動程序的權限沒有幫助。

redmonnt.dll取自官方網站的redmon17軟件包。 SetPrivilege()取自msdn的例子,做了小的修改。

對於如何使這項工作有任何想法,將不勝感激。 謝謝。

+0

錯誤的pinvoke聲明,可能。 – 2011-04-07 17:45:47

回答

0

您使用的是哪個版本的redmonnt.dll?它是64-bit DLL還是來自the official site的32位版本?該DLL將由64位操作系統上的64位應用程序spoolsv.exe加載。所以你必須使用64位版本的DLL。

+0

謝謝!它幫助! – 2011-04-11 14:18:17