typedef HANDLE (__stdcall *OPENTHREAD)(DWORD,BOOL,DWORD);OPENTHREAD* pfn = NULL;int main(int argc, char* argv[])
{
HMODULE hModule = LoadLibrary("kernel32.dll");
pfn = (OPENTHREAD*)::GetProcAddress(hModule,"OpenThread");
if ( pfn != NULL )
{
pfn(THREAD_ALL_ACCESS,FALSE,100);
}
return 0;
}在这个例子中,我调用出错了,请问我是哪里书写不正确。最后一个线程id在我代码中是正确,贴出来写100是为了方便。
另外想得到线程句柄还有其他办法么?是得到别人的线程句柄,不是自己的。OpenThread在VC中没有定义,所以只能通过这种方式调用。
{
HMODULE hModule = LoadLibrary("kernel32.dll");
pfn = (OPENTHREAD*)::GetProcAddress(hModule,"OpenThread");
if ( pfn != NULL )
{
pfn(THREAD_ALL_ACCESS,FALSE,100);
}
return 0;
}在这个例子中,我调用出错了,请问我是哪里书写不正确。最后一个线程id在我代码中是正确,贴出来写100是为了方便。
另外想得到线程句柄还有其他办法么?是得到别人的线程句柄,不是自己的。OpenThread在VC中没有定义,所以只能通过这种方式调用。
int main(int argc, char* argv[])
{
HMODULE hModule = LoadLibrary("kernel32.dll");
OPENTHREAD pfn = (OPENTHREAD)::GetProcAddress(hModule,"OpenThread");
if ( pfn != NULL )
{
pfn(THREAD_ALL_ACCESS,FALSE,100);
}
return 0;
}已经定义是函数指针了,再加*就成2级指针指向了,就不对了,汗死。 怎么我问问题,还我自己回答问题的