我想用CreateRemoteThread调用MessageBox方法

lescper2011 2017-11-06 06:21:18
使用CreateRemoteThread 调用MessageBox方法,
int WINAPI MessageBox(
_In_opt_ HWND hWnd,
_In_opt_ LPCTSTR lpText,
_In_opt_ LPCTSTR lpCaption,
_In_ UINT uType
);


我建立一个struct存这4个参数,使用CreateRemoteThread调用,无效,不能弹出对话框,请问怎么改?

[DllImport("kernel32")]
public static extern IntPtr CreateRemoteThread(
IntPtr hProcess,
IntPtr lpThreadAttributes,
uint dwStackSize,
IntPtr lpStartAddress,
IntPtr lpParameter,
uint dwCreationFlags,
out uint lpThreadId
);
...全文
147 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
threenewbee 2017-11-15
引用 4 楼 lescper2011 的回复:
[quote=引用 2 楼 caozhy 的回复:] C#不能注入线程,用c++,而且要写成dll
我还有另一个帖子,你也接一下分[/quote] 原因是C#没法写原生的dll,而只有写成dll,才能和目标进程在一个地址空间里,才能调用你的指针。
  • 打赏
  • 举报
回复
lescper2011 2017-11-15
引用 2 楼 caozhy 的回复:
C#不能注入线程,用c++,而且要写成dll
我还有另一个帖子,你也接一下分
  • 打赏
  • 举报
回复
lescper2011 2017-11-15
引用 2 楼 caozhy 的回复:
C#不能注入线程,用c++,而且要写成dll
这是为什么?我用c#可以调用dll的方法,目前我已经用你说的这个方法解决了,不过我很奇怪,为啥不能注入进程。 c#调用dll中有的方法,给到参数应该就行了啊 我调用的dll是系统dll,不是我自己写的,是一个urlmon.dll 设置浏览器的方法
  • 打赏
  • 举报
回复
threenewbee 2017-11-14
C#不能注入线程,用c++,而且要写成dll
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.7w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2017-11-06 06:21
社区公告

让您成为最强悍的C#开发者