因为PCHAR是DELPHI自带函数,并非WINDOWS函数,因为要远程注入WINDOWS进程,所以无法调用PCHAR,有什么办法能使STRING转换成PCHAR,或者WINDOWS有没有自带的转换函数?

解决方案 »

  1.   

    呵呵,纠正下。PCHAR是一种数据类型string 转pcharpchar1 := PCHAR(string1)
      

  2.   

    转换方法我知道,问题是PCHAR不是WINDOWS自带函数,有没有其他办法能把PCHAR转换为STRING
      

  3.   

    var
    S,SS:string;s:='WinExec';
    ss:='kernel32.dll';
    xz:=GetProcAddress(LoadLibrary(StrPas(s)),StrPas(ss));怎么不行呢?显示Incompatible types: 'string' and 'PAnsiChar'
      

  4.   

    xz:=GetProcAddress(LoadLibrary(PAnsiChar(s)),PAnsiChar(ss));这样
      

  5.   

    自己申请一块内存区域 长度是 length(string) + 1
    然后用movsb 把字符串译进去,然后最后再移一个0进去,
    那么这块内存就是一个PChar了