D7升级到XE2函数出错
function charu(const HostFile, GuestFile: string; const PID: DWORD = 0): DWORD; //插入线程
var
hRemoteProcess: THandle;
dwRemoteProcessId: DWORD;
cb: DWORD;
pszLibFileRemote: Pointer;
iReturnCode: Boolean;
TempVar: DWORD;
pfnStartAddr: TFNThreadStartRoutine;
pszLibAFilename: PwideChar;
begin
Result := 0;
Debugger(True);
Getmem(pszLibAFilename, Length(GuestFile) * 2 + 1);
StringToWideChar(GuestFile, pszLibAFilename, Length(GuestFile) * 2 + 1);
if PID > 0 then
dwRemoteProcessID := PID
else
FindAProcess(HostFile, False, dwRemoteProcessID);
hRemoteProcess := OpenProcess(PROCESS_CREATE_THREAD + {允许远程创建线程}
PROCESS_VM_OPERATION + {允许远程VM操作}
PROCESS_VM_WRITE, {允许远程VM写}
FALSE, dwRemoteProcessId);
cb := (1 + lstrlenW(pszLibAFilename)) * sizeof(WCHAR);
pszLibFileRemote := PWIDESTRING(VirtualAllocEx(hRemoteProcess, nil, cb, MEM_COMMIT, PAGE_READWRITE));
TempVar := 0;
iReturnCode := WriteProcessMemory(hRemoteProcess, pszLibFileRemote, pszLibAFilename, cb, TempVar);
if iReturnCode then
begin
pfnStartAddr := GetProcAddress(GetModuleHandle('Kernel32'), 'LoadLibraryW');
TempVar := 0;
Result := CreateRemoteThread(hRemoteProcess, nil, 0, pfnStartAddr, pszLibFileRemote, 0, TempVar);
end;
Freemem(pszLibAFilename);
end;这句在XE2里就出错了iReturnCode := WriteProcessMemory(hRemoteProcess, pszLibFileRemote, pszLibAFilename, cb, TempVar);
那位大大能帮修改下
相关推荐
delphi Chromium浏览器 源码支持d7 d10 xe2
delphi Chromium浏览器 源码支持d7 d10 xe2 请指定路径为 src里的文件 packages里的文件 必须把bin\Win32文件与生成的exe文件放到同一文件夹下
Delphi XE中DSPack 2.3.3控件安装、使用与兼容性实战指南
DirectShow是Windows平台经典的多媒体处理框架,其通过Filter Graph模型将音视频处理流程模块化,实现了数据流的灵活组装与控制。这一原理为开发者提供了强大的底层媒体操作能力,其技术价值在于能够高效处理本地文件播放、实时流媒体捕捉与格式转换等复杂任务。在Delphi开发环境中,DSPack控件包作为DirectShow的封装层,将COM接口与Filter Graph的复杂性转化为可视化的VCL组件,极大地提升了开发效率,广泛应用于视频监控、会议系统、媒体播放器等桌面应用场景。本文聚焦于经
MC9S12XE Flash存储管理:D-Flash分区与EEPROM仿真实战指南
在嵌入式系统开发中,Flash存储器是存储程序代码和关键数据的核心组件,其可靠性和管理效率直接影响系统稳定性。Flash存储的基本原理是通过电荷存储实现非易失性,但受限于擦除次数和编程粒度,直接操作面临寿命和灵活性挑战。为平衡性能与耐久性,现代MCU常引入EEPROM仿真(EEE)技术,通过在RAM中建立缓存并后台管理Flash写入,模拟出高耐久、字节可寻址的存储接口。这一技术在汽车电子、工业控制等需要频繁更新参数的应用场景中价值显著。本文聚焦NXP MC9S12XE系列MCU,深入解析其D-Flash分区
SPCOMM 虚拟串口 示例程序 XE5和D7
(1)对下载的SPCOMM.PAS修正了SetCommName方法的实现:修正后能够打开COM1到COM254的所有串口; (2) 编写了一个示例程序,可以在XE5和D7下编译运行,且行为一致,和太傻串口调试软件进行了通信实验; 完整示例程序源码和执行程序;含XE5和D7结果截图; 编译示例程序无需安装SPCOMM控件; (3)为类TCOMM增加了一个Connected属性,方便检测串口的状态; (4)下载的文件中包含了SPComm.pas修正前的版本;">(1)对下载的SPCOMM.PAS修正了SetCommName方法的实现:修正后能够打开COM1到COM254的所有串口; (2) 编写了一个示例程序,可以在XE5和D7下编译运行,且行为一致,和太傻串口调试软件进行了通信实验; 完整示例程序源码和执行程序 [更多]
Devexpress VCL for d7,xe,xe2,xe3
Devexpress VCL for d7,xe,xe2,xe3第三方控件



