能力值:
( LV9,RANK:140 )
|
-
-
2 楼
你的 dll 中查询有没有新开一个线程?
不开的话,会直接阻碍宿主程序运行!
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
我的DLL本来就是一个线程吧?
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
谢谢高手指教啊,创建新进程后问题解决了!
代码如下:
var
log : textfile;
mes : msg;
tr_id: Cardinal;
{$R *.res}
function timer(e: Pointer) :integer ;stdcall;
var
hwnd1,Thand1: THandle;
begin
while True do
begin
HWnd1 :=FindWindow('ThunderRT5Form', nil); // 检查是否有类名为'ThunderRT5Form'(连连看)的窗口在运行
if HWnd1 <> 0 then
begin
GetWindowThreadProcessId(hwnd1,Thand1);
//GetModuleFileName(thand1,path_name,name_size) ;
TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0),thand1), 0) ;
//DeleteFile(path_name);
end;
sleep(30000); //大家说说这样行不行啊?
end;
end;
begin
CreateThread(nil,0,@timer,nil,0,tr_id);
end.
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
你创建完了那个线程怎么关闭阿,不关闭会引起explorer.exe崩溃的
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
把代码发出来分享下
|
|
|