必须在不同的线程上调用DLL函数

时间:2012-10-11 04:34:45

标签: c++ multithreading dll

我有一个dll函数Copy(const char** srcFiles, const char* dst),它将srcFiles复制到文件夹dst。例如,它必须每0.01秒。将复制进度信息(百分比)发送到我自己的函数CopyProgress。问题是我无法更改Copy函数代码,因此我认为在不同的线程上执行此函数是个好主意。但我是多线程的初学者,无法想象如何做到这一点。

任何想法,提示?谢谢。

1 个答案:

答案 0 :(得分:0)

首先,您应该考虑更改Copy以通过回调为您提供进度信息。但是如果你绝对必须不改变Copy,你必须使用CreateThread在另一个线程中运行它,然后定期扫描目标目录以查看已经复制了多少(每0.01秒可能一次)这个方法太快而不实用 - 如果你需要这么多的粒度,你必须添加一些钩子到Copy)。