最近想写一个天堂1发信的外挂,一个人发给多个人。最初我以为找到文本框句柄sendmessage完了鼠标移动到“发信”按钮处点击就行了,点击做完了测试发现sendemessage没用。用spy++查看发现文本框窗体标题变成了我填写的,但是界面上没有,也就是说sendmessage和postmessage都没用。我猜游戏是采用了directinput做的文本框,那我要发信怎么办呢?用keybd_event只能一次一个字符,我要发信写的是中文啊肯定不行。网上有人说用hook注入监控api,这个我不会,哪位达人能讲清楚一些?
能实现C#填写directinput也行,或者想个办法能让我把目标文字放上去就行。如果用hook的话麻烦讲的更细一些还要些源码,我是第一次写这玩意儿。我用的是C#写的,C++和C太繁琐了,delphi的东西不懂。麻烦各位达人了,小弟跪求。
能实现C#填写directinput也行,或者想个办法能让我把目标文字放上去就行。如果用hook的话麻烦讲的更细一些还要些源码,我是第一次写这玩意儿。我用的是C#写的,C++和C太繁琐了,delphi的东西不懂。麻烦各位达人了,小弟跪求。
另一方面可以直接通过端口发送数据,根本不用去模拟事件,这样岂不是更好?
具体的代码我过两天整理好了发在blog上,跟大家分享。
[DllImport("User32.dll", EntryPoint = "PostMessage")]
private static extern int PostMessage(IntPtr hwnd, int Msg, IntPtr wParam, string lParam);string message = passWord;
for (int i = 0; i < message.Length; i++)
{
byte[] bt = Encoding.Default.GetBytes(message[i].ToString());
for (int j = 0; j < bt.Length; j++)
{
SendMessage(passWorld, WM_CHAR, bt[j], 1);
}
}