解决方案 »
- 菜鸟请各位高手帮忙!关于中值滤波去噪点,锐化和查找边界的方法!
- 怎样实现连续打印?
- 打开窗口的小问题!
- 如何制作xp风格菜单?如果用控件不能有版权问题。
- 如何 判断窗体上的某个控件是Tedit
- 紧急求助大侠:读取一个Icon或Bmp图标,怎么知道该图标是16×16还是32×32的?
- 瑞软表单,谈谈你的看法!用过的谈谈,没用过的进来看看!
- 那位大虾有把dbgrid数据转换为Excel文件的代码???
- 关于XE5安卓下怎样连接sqlserver的问题
- 急!这个DbGrid的问题如何解决?
- 客房管理软件 怎么动态生成 台面
- Delphi6连接Oracle10g 64位(Win7 64位系统),出错提示"测试连接失败,----未找到Oracle客户端和网络组件-----",求助!
var
I: Integer;
begin
Result := False;
while szMask <> #0 do
begin
if (szMask = 'x') and (pData^ <> bMask^) then
Exit;
end;
if szMask^ = #0 then
Result := True;
end;
function FindPattern(dwAddress, dwLen: DWORD; bMask: PByte; szMask: PAnsiChar): DWORD;
var
I: DWORD;
begin
for I := 0 to dwLen - 1 do
begin
if (bCompare(PByte(dwAddress + I), bMask, szMask)) then
begin
Result := dwAddress + I;
Exit;
end;
end;
Result := 0;
end;var
VTableStart: PDWORD;
hD3D9: HMODULE;
VIRTUALTABLE: DWORD;
const
a: array[0..13] of Byte = ($C7, $06, $00, $00, $00, $00, $89, $86, $00, $00, $00, $00, $89, $86);
begin
hD3D9 := GetModuleHandle('xxxx.dll');
VIRTUALTABLE := FindPattern(hD3D9, $128000, @a[0], PAnsiChar('xx????xx????xx'));
CopyMemory(VTableStart, Ptr(VIRTUALTABLE + 2), 4);
Inc(VTableStart, 44);
dwStartCode := VTableStart^;
end;