除了PCHAR还有什么办法能把STRING转换成PCHAR?

kill222 2010-02-02 12:03:01
因为PCHAR是DELPHI自带函数,并非WINDOWS函数,

因为要远程注入WINDOWS进程,所以无法调用PCHAR,有什么办法能使STRING转换成PCHAR,或者WINDOWS有没有自带的转换函数?
...全文
167 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
kfcoffe 2010-02-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 kill222 的回复:]
var
S,SS:string;

s:='WinExec';
ss:='kernel32.dll';
xz:=GetProcAddress(LoadLibrary(StrPas(s)),StrPas(ss));

怎么不行呢?显示Incompatible types: 'string' and 'PAnsiChar'
[/Quote]
xz:=GetProcAddress(LoadLibrary(PAnsiChar(s)),PAnsiChar(ss));

这样
kill222 2010-02-02
  • 打赏
  • 举报
回复
var
S,SS:string;

s:='WinExec';
ss:='kernel32.dll';
xz:=GetProcAddress(LoadLibrary(StrPas(s)),StrPas(ss));

怎么不行呢?显示Incompatible types: 'string' and 'PAnsiChar'
starluck 2010-02-02
  • 打赏
  • 举报
回复
StrPas
kill222 2010-02-02
  • 打赏
  • 举报
回复
转换方法我知道,问题是PCHAR不是WINDOWS自带函数,有没有其他办法能把PCHAR转换为STRING
starluck 2010-02-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 kill222 的回复:]
因为PCHAR是DELPHI自带函数,并非WINDOWS函数,

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


不是函数,是个指针类型
kfcoffe 2010-02-02
  • 打赏
  • 举报
回复
呵呵,纠正下。PCHAR是一种数据类型

string 转pchar

pchar1 := PCHAR(string1)
Harryfin 2010-02-02
  • 打赏
  • 举报
回复
PCHAR是DELPHI自带函数??
huangjacky 2010-02-02
  • 打赏
  • 举报
回复
自己申请一块内存区域 长度是 length(string) + 1
然后用movsb 把字符串译进去,然后最后再移一个0进去,
那么这块内存就是一个PChar了
wzwcn 2010-02-02
  • 打赏
  • 举报
回复
概念不清,多看看书吧
无条件为你 2010-02-02
  • 打赏
  • 举报
回复
估计楼主是想做api的hook
发帖
Windows SDK/API

1177

社区成员

Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
帖子事件
创建了帖子
2010-02-02 12:03
社区公告
暂无公告