Board logo

標題: 64位元系統使用Application物件的SetTimer API函數出現問題解決辦法 [打印本頁]

作者: jpu    時間: 2013-9-29 19:14     標題: 64位元系統使用Application物件的SetTimer API函數出現問題解決辦法

Application物件的SetTimer API函數在32位元系統使用時正常,但在64位元系統下使用會出現錯誤,
解決方式如下:
將原始碼:
Option Explicit
Public Declare PtrSafe Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, _
                ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare PtrSafe Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long
.......
改成如下即可
Option Explicit
Public Declare PtrSafe Function SetTimer Lib "user32" (ByVal hWnd As LongPtr, ByVal nIDEvent As LongPtr, _
                ByVal uElapse As Long, ByVal lpTimerFunc As LongPtr) As LongPtr
Public Declare PtrSafe Function KillTimer Lib "user32" (ByVal hWnd As LongPtr, ByVal nIDEvent As LongPtr) As LongPtr
.......
各位先進可以試試看。
作者: Scott090    時間: 2014-3-22 11:23

回復 1# jpuv

學了一招,謝謝
在其他的 x64 application 是否都可行?
x86 2010 Excel 可以用的 .dll 到 x64 2010 就被打敗了  :'(




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)