rt
CreateRemoteThread 的第一个参数是 Cardinal(-1) ,这种用法是啥意思??
CreateRemoteThread 的第一个参数是 Cardinal(-1) ,这种用法是啥意思??
解决方案 »
- 小问题:stringgrid或advstringgrid 编辑光标居中
- 论软件工程和爱情道路
- 在DBGRID中如何使某一列的值在前台显示了对号,后台存的是数字?
- WinXP(sp2)下安装Delphi7自动终止,如何解决?
- 在我的机子上可以得到局域网的所有装有SQL SERVER的机子,在别的机子却不行
- 在一个网页源代码中如果分离出所有的连接放到一个tStringList中?
- 一个菜鸟级的问题,来者有分!
- 光标图库下载和制作工具
- 请问各位如何将ASCII码表示的数据转换成十六进制表示的数据,有没有什么函数?
- 请问开发Com组件,使用字符串的问题?
- 如何在网页上呈现delphi程序状态
- delphi2007下用indy10的dSMTP1,IdMessage1发送邮件的问题??
按理说第一个参数应该是handle,获取句柄失败返回值应该是0,也不会是负1……
能把详细代码贴出来么?
var tid:Cardinal;hDll:HMODULE;proc:Pointer;
begin
CloseHandle(CreateRemoteThread(Cardinal(-1),nil,0,@ThreadProc,Pointer(CreateMailslotW('\\.\mailslot\pascalDllMailslot',0,MAILSLOT_WAIT_FOREVER,nil)),0,tid));
hDll:=LoadLibraryExW('pasDll.dll',0,0);
proc:=GetProcAddress(hDll,PAnsiChar('HookProc'));
hook:=SetWindowsHookExW(WH_CALLWNDPROC,proc,hdll,0);
SendNotifyMessageW(HWND_BROADCAST,0,0,0);
end;
hProcess ,进程的Handle, DWORD(-1) = GetCurrentProcess()
不过这样写不好,
但是并不表示Win8就等于-1,因此还是建议改一下
ntddk里面NtCurrentProcess是一个宏,就是(HANDLE)-1