Y yqlqq Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-06 #1 我想用NtOpenThread来得到线程的Handle,然后再SuspendThread,但得到的Handle永远都是空的,实在没办法了,请高手们指点指点,无限感谢。。。。。。。
C cqwty Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-06 #2 你既然知道一个线程了,为什么还要用NtOpenThread来获得Handle呢?而不直接用这个线程的Handle属性呢?
L lngdtommy Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-06 #3 直接操作线程ID就可以吧。。。。<br>DWORD r = SuspendThread(H); //注意H不能是GetCurrentThread()的返回值<br>ResumeThread(H);<br>if(r > 0 and r <> (DWORD)-1) then<br> 表示线程输出挂起状态
直接操作线程ID就可以吧。。。。<br>DWORD r = SuspendThread(H); //注意H不能是GetCurrentThread()的返回值<br>ResumeThread(H);<br>if(r > 0 and r <> (DWORD)-1) then<br> 表示线程输出挂起状态
Y yqlqq Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-07 #4 To:cqwty<br> 问题是我只知道线程的ID,并不知道线程的Handle啊。。。<br><br>To:lngdtommy<br> SuspendThread(H); H不是应该用线程的Handle吗,但我并不知道线程的Handle啊。。。<br><br>问题还没解决,再请高手指点,谢谢。。。。。
To:cqwty<br> 问题是我只知道线程的ID,并不知道线程的Handle啊。。。<br><br>To:lngdtommy<br> SuspendThread(H); H不是应该用线程的Handle吗,但我并不知道线程的Handle啊。。。<br><br>问题还没解决,再请高手指点,谢谢。。。。。
Y yqlqq Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-07 #6 我试过用OpenThread来求Handle的,但每次执行到这个API都会报错,所以才改用NtOpenThread的。<br><br>谁有成功调用OpenThread的例子共享一下啊,谢谢。。。。。。。
我试过用OpenThread来求Handle的,但每次执行到这个API都会报错,所以才改用NtOpenThread的。<br><br>谁有成功调用OpenThread的例子共享一下啊,谢谢。。。。。。。
W wr960204 Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-21 #7 你OpenThread是权限不够.才返回失败.<br>先提升到调试权限.<br>另外一些内核进程的线程你在Ring3层是根本没法Open成功.
Q qylin1 Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-22 #8 我就是用NtOpenThread来做的,没问题啊,传个小例子给你吧。
W wql Unregistered / Unconfirmed GUEST, unregistred user! 2008-07-22 #9 Windows没有提供通过ThreadID得到Thread Handle的任何函数,只能通过Hook Massage 的<br>方法,hook函数内部得到Thread Handle,但是因为涉及商业秘密,我只能说到此!
Windows没有提供通过ThreadID得到Thread Handle的任何函数,只能通过Hook Massage 的<br>方法,hook函数内部得到Thread Handle,但是因为涉及商业秘密,我只能说到此!