OpenProcess

 var
  ProcessHandle, PID: longword;
  begin
  GetWindowThreadProcessId(FindWindow('Shell_TrayWnd', nil), @PID);//获取c的PID
  ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, PID);//打开进程
  Inject(ProcessHandle, @Main);//插入代码
  CloseHandle(ProcessHandle);//关闭线程句柄
  end.
  语法
  OpenProcess(
  dwDesiredAccess: DWORD; {access flags}
  bInheritHandle: BOOL; {handle inheritance flag}
  dwProcessId: DWORD {the process identifier}
  ): THandle; {returns the handle of the open process}
  说明:
  OpenProcess函数执行成功将根据传入参数的PID返回该PID进程的句柄.执行失败返回0.执行失败的错误信息请使用GetLastError 函数.
  参数说明:
   dwDesiredAccess: 指定打开后,该进程的访问权限
   PROCESS_ALL_ACCESS 给予进程所有可能允许的权限.
   PROCESS_DUP_HANDLE 允许使用DuplicateHandle函数进行进程句柄的复制操作.
  PRO CESS_QUERY_INFORMATION 允许函数GetExitCodeProcess 或函数GetPriorityClass functions 查询进程的信息时使用该句柄.
   PROCESS_SET_INFORMATION 允许函数SetPriorityClass使用此句柄进行优先级设置.
   PROCESS_TERMINATE 允许函数TerminateProcess 使用此句柄关柄进程.
   PROCESS_VM_OPERATION 允许函数VirtualProtectEx使用此句柄修改进程的虚拟内存.
  PROCESS_VM_READ or PROCESS_VM_WRITE 允许函数访问和写入权限
   SYNCHRONIZE Windows NT 专用: 允许同步函数使用此句柄.
   bInheritHandle: 指定返回的句柄是继承dwProcessId指定的进程..
   dwProcessId: 指定打开需要打开的进程的PID
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值