1

我正在尝试克服使用autohotkey实现的文件复制的非响应性。

我试图通过Dllcall()到Kernel32.dll 中的CopyFileEx()函数来执行此操作。

以下是 CopyFileEx() 函数的 C++ 接口,但我不知道如何使其与 autohotkey 脚本一起使用。

BOOL WINAPI CopyFileEx(

LPCTSTR lpExistingFileName 中,

LPCTSTR lpNewFileName 中,

_In_opt_ LPPROGRESS_ROUTINE lpProgressRoutine,

_In_opt_ LPVOID lpData,

_In_opt_ LPBOOL pbCancel,

DWORD dwCopyFlags

);

我在这里先向您的帮助表示感谢 :)

4

1 回答 1

1

http://www.autohotkey.com/board/topic/20790-copyfileex-dllcall-and-registercallback

file1:="movetest.exe" file2:="movetest2.exe"

地址 :=registercallback("update") dllcall("CopyFileEx",str,file1,str,file2,Uint,address,Uint,0,int,0,int,0)

返回

Esc::ExitApp update(var1lo,var1hi,var2lo,var2hi,var3lo,var3hi,var4lo,var4hi,var5,var6,var7,var8,var9){ progress,% (var2lo/var1lo) * 100,,% (var2lo/var1lo ) * 100 "%",复制文件返回 0 }

上面的链接正是我需要的。自动热键论坛上有人发布了答案,我想我也会与你们分享。

于 2013-05-01T12:58:10.377 回答