process32first的奇怪错误(150分)

  • 主题发起人 主题发起人 iamfly
  • 开始时间 开始时间
I

iamfly

Unregistered / Unconfirmed
GUEST, unregistred user!
var<br>&nbsp; lppe: TProcessEntry32;<br>&nbsp; found: boolean;<br>&nbsp; Hand: THandle;<br>&nbsp; err:integer;<br>begin<br>&nbsp; Listproc1.Items.Clear;<br>&nbsp; Hand:=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);<br>&nbsp; found:=Process32First(Hand,lppe);//错误就在这里出现,found值不为TRUE<br>&nbsp; err:=getlasterror();<br><br>ERR的值为24,在DELPHI的WIN32帮助中找到24的错误描述为<br>ERROR_BAD_LENGTH<br>The program issued a command but the command length is incorrect.<br>再运行一次,ERR值变成120,即是<br>ERROR_CALL_NOT_IMPLEMENTED<br>The Application Program Interface (API) entered will only work in Windows/NT mode.
 
Hand:=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);<br>lppe.dwSize:=Sizeof(TProcessEntry32);<br>&nbsp; found:=Process32First(Hand,lppe);/<br>
 
不要浪费钞票了,我昨天刚贴了一个关于这方面的贴子,你可以参考一下!
 
忘了说一句,我这个程序在WIN98下是没问题的,以前在2000下也是没问题,只是我做了些<br>和这个没什么关系的改动后,在2000下第一次列出PROCESS时不行,再刷新一下,重列一次<br>(也就是第二次运行这段代码)就可以了列出来了,但还是有错误<br><br>BTW hqiang你那个贴子在哪啊?
 
没人答啊,我可不可以把这150分收后啊!!!
 
唉,看来我也要做一次弊了,等会我用IAMFLY2000来把这150分收回去吧:(
 
自己把分给回自己吧!唉,我也不想的:(<br>版主请原谅了
 
接受答案了.
 
后退
顶部