2012-01-06 52 views
1

我写了一个小模块,试图获得屏幕放大值。它会在magnification.dll中调用一些过程。我想我编码正确,但我得到一个可怕的453错误(无法找到入口点)。在VBA中使用Magnification API来获得屏幕放大率

下面的代码:

Public Declare Function MagInitialize Lib "magnification.dll"() As Boolean 
Public Declare Function MagUninitialize Lib "magnification.dll"() As Boolean 
Public Declare Function MagGetFullscreenTransform Lib "magnification.dll" _ 
(ByVal pMagLevel As Single, ByVal pxOffset As Integer, ByVal pyOffset As Integer) As Boolean ' 

Sub test123() 
Dim sngValue As Single, intX As Integer, intY As Integer 
If (MagInitialize) Then 
    If MagGetFullscreenTransform(sngValue, intX, intY) Then ' 
     Debug.Print sngValue & " was returned from MagGetFullscreenTransform. " 
    Else 
     Debug.Print "MagGetFullscreenTransform was false." 
    End If 
Else 
    Debug.Print "Can't initialize" 
End If 

If Not (MagUninitialize) Then 
    Debug.Print "Can't uninitialize" 
End If 

End Sub 

我不知道程序别名(不,它需要一个,据我所知,别名是可选的)。我试图“检查”Magnification.dll作为我的Excel项目中的参考,但它不会让我。 (不能添加对指定文件的引用)。

对此提出建议?我只需要拉大放大值。

谢谢!

回答

2

我的Windows 7 magnification.dll出口Mag/UnInitialize但不导出MagGetFullscreenTransform,该docs说的最低客户端版本为“Windows 8开发者预览”,所以它看起来像一个赢得8的功能,我以为你不使用。

+0

正确。我在Windows 7上。我想知道是否有另一种方法来控制屏幕放大。 – Harry 2012-01-14 22:23:04