C#获取了英雄联盟双击没反应句柄,然后利用PostMessage()发送一个按键信息,可是没反应!但是魔兽争霸里有反应!

键盘钩子 - 王朝网络 -
分享&&&&&当前位置: &&&&&&&&键盘钩子&&&  文/Anoop Thomas  这篇文章描述了怎样在MICROSOFT WINDOWS里安装键盘钩子。  钩子有两种类型——线程特殊钩子和全系统钩子。线程特殊钩子只关联特别的线程(呼叫线程拥有的任何线程)。如果你想把钩子与其他进程和线程关联在一起,你将不得不使用全系统钩子。一个钩子程序关联一个钩子,当特定事件发生时这个程序总会被呼叫。例如鼠标,当与鼠标关联的事件发生,这个钩子程序就会被呼叫。钩子通过呼叫SetWindowsHookEx(?)安装,通过呼叫UnhookWindowsHookEx(?)删除。  对线程钩子来说,钩子程序也许在一个EXE文件或在一个DLL里面。但是对全局的或系统钩子来说,钩子程序必须存在在一个DLL里面。所以我们需要创建一个DLL。  为了这样做,我们用一个唯一的起动文件在它里面建立一个Win32 DLL工程,然后修改它以适合你的需要。你最好在DLL里为安装和删除钩子写好代码。  现在,在DLL头文件里像下面一样定义函数:  #ifdef KEYDLL3_EXPORTS  #define KEYDLL3_API __declspec(dllexport)  #else  #define KEYDLL3_API __declspec(dllimport)  #endif  //This function installs the Keyboard hook:  KEYDLL3_API void installhook(HWND h);  //This function removes the previously installed hook.  KEYDLL3_API void removehook();  //hook procedure:  KEYDLL3_API LRESULT CALLBACK hookproc( int ncode,  
WPARAM wparam,  
LPARAM lparam);  对DLL里的输出函数来说,使用__declspec和dllexport关键字是一个好主意,它胜过使用一个单独的DEF文件。SetWindowsHookEx( )返回一个句柄给钩子——这个钩子是为以后从钩子链卸载钩子作准备。我们也有一个窗口句柄,我们将用它来发送消息给主要的应用程序窗口。我们首先通过使用FindWindow( )函数寻找应用程序窗口,然后使用PostMessage( )呼叫发送按键消息参数给应用程序主要的窗口,像下面的程序代码片段:  //Find application window handle  hwnd = FindWindow("#32770","Keylogger Exe");  //Send info to app Window.  PostMessage(hwnd,WM_USER+755,wparam,lparam);  在钩子程序的最后我们必须呼叫CallNextHookEx( )函数来传递参数给在下一个钩子链中安装的钩子。我极力推荐这种方法是因为如果不使用它,就会引起不可预知的系统行为和系统锁定。程序用来安装删除钩子,钩子程序如下所示:  KEYDLL3_API void installhook(HWND h)  {   hook = NULL;   hwnd =   hook = SetWindowsHookEx( WH_KEYBOARD,  
hookproc,  
hinstance,  
NULL);   if(hook==NULL)  
MessageBox( NULL,  
"Unable to install hook",  
"Error!",  
MB_OK);  }  KEYDLL3_API void removehook()  {   UnhookWindowsHookEx(hook);  }  KEYDLL3_API LRESULT CALLBACK hookproc( int ncode,  
WPARAM wparam,  
LPARAM lparam)  {   if(ncode&=0)   {  
//Find application window handle  
hwnd = FindWindow("#32770","Keylogger Exe");  
//Send info to app Window.  
PostMessage(hwnd,WM_USER+755,wparam,lparam);   }   //pass control to next hook.   return ( CallNextHookEx(hook,ncode,wparam,lparam) );  }  如果在内存里有多重DLL的情况,则对不同DLL的情况的每个数据成员它们都有不同的值。但是,某些数据,例如钩子句柄,窗口句柄应该对所有情况都是相同的。这是因为所有情况都发送相同的信息给相同的应用程序窗口。对这而言,我们需要像在DLL的CPP文件中定义共享数据。像下面:  #pragma data_seg(".HOOKDATA")//Shared data among all instances.  HHOOK hook = NULL;  HWND hwnd = NULL;  #pragma data_seg()  现在,连接器必须被给出指令,以便将共享数据放置在DLL单独的空间里。为了这样做,我们使用下列代码,稍后是上面提到的代码:  //linker directive  #pragma comment(linker, "/SECTION:.HOOKDATA,RWS")  对DLL说了这么多,现在我们将来看一下Main application(EXE)。建立一个MFC应用程序(基于窗口或者基于对话框的)。为了简单起见我建立了一个基于对话框的EXE文件。创建这个项目后,到项目设置对话框通过从主菜单中选择Project&Settings,选择“Link”制表符,然后在“Object/library modules”框内显示“Keydll3.lib”,点“OK”。现在,从主菜单中选择Project&Add to project& files插入DLL头文件到工作区。选择我们早先创建的DLL的.h文件,像下面一样将它“#include”在你的项目里:  //Include this for functions in the DLL:  #include "..\Keydll3\Keydll3.h"  这个应该在主对话框类的CPP文件中。现在,在主对话框的类里,增加一个成员函数来处理DLL发送的按键消息。函数如下所示:  afx_msg LRESULT processkey(WPARAM w,LPARAM l);//declaration   LRESULT CKeyexeDlg::processkey(WPARAM w, LPARAM l)//definition  {   //This block processes the keystroke info.   .   .   .   return 0L;  }  (这个成员在向导条里可以很容易的添加。)现在,在CPP文件中定义我们从DLL接收的消息,如下所示:  //This message is recieved when key is down/up  #define WM_KEYSTROKE (WM_USER + 755)  
现在添加新创建的成员函数作为WM_KEYSTROKE消息的句柄,使用ON_MESSAGE宏在消息映射区(在CPP文件里),像下面:  BEGIN_MESSAGE_MAP(CKeyexeDlg, CDialog)   //{{AFX_MSG_MAP(CKeyexeDlg)  
.   ON_MESSAGE(WM_KEYSTROKE, processkey)   //}}AFX_MSG_MAP  END_MESSAGE_MAP()  我们差不多完成了。但是在编译和创建EXE文件前,给Visual studio Library路径添加路径LIB 文件(Keydll3.lib)。为了这样做,从主菜单中选择Tools&Options,然后选择“Directories”制表符。从第二个列表中选择“Library files”,在下面的框内添加DLL的LIB文件。点OK。保存所有的文件和工作区,然后创建你的项目。  要得到关于钩子的更多信息,请看MSDN的下列章节:   SetWindowsHookEx( ),    Hook functions,    Virtual-key codes,    Keystroke message flags  笔记:对WINDOWSNT\2000来说,你的密码必须通过钩子程序记入日志,如果你没有激活“Ctrl-Alt-Del”登录序列的话。(只有当接通PC时。)&&&&&今日推荐
&&&&&老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...把牛仔裤磨出有线的破洞
1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...先来看下敬业福和爱国福
今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。
今天该活动正式启动,和去年一样,需要收集“五福”...有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。
1、很多人有这种习...简介
《极品家丁》讲述了现代白领林晚荣无意回到古代金陵,并追随萧二小姐化名“林三”进入萧府,不料却阴差阳错上演了一出低级家丁拼搏上位的“林三升职记”。...你就是我最爱的宝宝 - 李溪芮
(电视剧《极品家丁》片尾曲)
作词:常馨内
作曲:常馨内
你的眉 又鬼马的挑
你的嘴 又坏坏的笑
上一秒吵闹 下...乌梅,又称春梅,中医认为,乌梅味酸,性温,无毒,具有安心、除热、下气、祛痰、止渴调中、杀虫的功效,治肢体痛、肺痨病。乌梅泡水喝能治伤寒烦热、止吐泻,与干姜一起制...什么是脂肪粒
在我们的脸上总会长一个个像脂肪的小颗粒,弄也弄不掉,而且颜色还是白白的。它既不是粉刺也不是其他的任何痘痘,它就是脂肪粒。
脂肪粒虽然也是由油脂...来源:中国青年报
新的攻击方法不断涌现,黑客几乎永远占据网络攻击的上风,我们不可能通过技术手段杜绝网络攻击。国家安全保障的主要方向是打击犯罪,而不是处置和惩罚...夫妻网络直播“造人”爆红
  1月9日,温岭城北派出所接到南京警方的协查通告,他们近期打掉了一个涉黄直播APP平台。而根据掌握的线索,其中有一对涉案的夫妻主播...如何防止墙纸老化?
(1)选择透气性好的墙纸
市场上墙纸的材质分无纺布的、木纤维的、PVC的、玻璃纤维基材的、布面的等,相对而言,PVC材质的墙纸最不透气...观点一:破日本销售量的“鲜肌之谜” 非日本生产
近一段时间,淘宝上架了一款名为“鲜肌之谜的” 鲑鱼卵巢美容液,号称是最近日本的一款推出的全新护肤品,产品本身所...系腰裙(北宋词人 张先)
惜霜蟾照夜云天,朦胧影、画勾阑。人情纵似长情月,算一年年。又能得、几番圆。
欲寄西江题叶字,流不到、五亭前。东池始有荷新绿,尚小如...关于女人的经典语句1、【做一个独立的女人】
思想独立:有主见、有自己的人生观、价值观。有上进心,永远不放弃自己的理想,做一份自己喜爱的事业,拥有快乐和成就...你想体验机器人性爱吗?你想和性爱机器人结婚吗?如果你想,机器人有拒绝你的权利吗?
近日,第二届“国际人类-机器人性爱研讨会”大会在伦敦金史密斯大学落下帷幕。而...10.土耳其地下洞穴城市
变态指数:★★☆☆☆
这是土耳其卡帕多西亚的一个著名景点,传说是当年基督教徒们为了躲避战争而在此修建。里面曾住着20000人,......据英国《每日快报》报道,一位科学家兼理论家Robert Lanza博士宣称,世界上并不存在人类死亡,死亡的只是身体。他认为我们的意识借助我们体内的能量生存,而且...《我爱狐狸精》 - 刘馨棋
  (电视剧《屏里狐》主题曲)
  作词:金十三&李旦
  作曲:刘嘉
  狐狸精 狐狸仙
  千年修... under pass
自由人非常擅长传球和垫球。
The libero is very go...·&·&·&&&&&&文/Anoop Thomas
这篇文章描述了怎样在MICROSOFT WINDOWS里安装键盘钩子。
钩子有两种类型——线程特殊钩子和全系统钩子。线程特殊钩子只关联特别的线程(呼叫线程拥有的任何线程)。如果你想把钩子与其他进程和线程关联在一起,你将不得不使用全系统钩子。一个钩子程序关联一个钩子,当特定事件发生时这个程序总会被呼叫。例如鼠标,当与鼠标关联的事件发生,这个钩子程序就会被呼叫。钩子通过呼叫SetWindowsHookEx(?)安装,通过呼叫UnhookWindowsHookEx(?)删除。
对线程钩子来说,钩子程序也许在一个EXE文件或在一个DLL里面。但是对全局的或系统钩子来说,钩子程序必须存在在一个DLL里面。所以我们需要创建一个DLL。
为了这样做,我们用一个唯一的起动文件在它里面建立一个Win32 DLL工程,然后修改它以适合你的需要。你最好在DLL里为安装和删除钩子写好代码。
现在,在DLL头文件里像下面一样定义函数:
#ifdef KEYDLL3_EXPORTS
#define KEYDLL3_API __declspec(dllexport)
#define KEYDLL3_API __declspec(dllimport)
//This function installs the Keyboard hook:
KEYDLL3_API void installhook(HWND h);
//This function removes the previously installed hook.
KEYDLL3_API void removehook();
//hook procedure:
KEYDLL3_API LRESULT CALLBACK hookproc( int ncode,
WPARAM wparam,
LPARAM lparam);
对DLL里的输出函数来说,使用__declspec和dllexport关键字是一个好主意,它胜过使用一个单独的DEF文件。SetWindowsHookEx( )返回一个句柄给钩子——这个钩子是为以后从钩子链卸载钩子作准备。我们也有一个窗口句柄,我们将用它来发送消息给主要的应用程序窗口。我们首先通过使用FindWindow( )函数寻找应用程序窗口,然后使用PostMessage( )呼叫发送按键消息参数给应用程序主要的窗口,像下面的程序代码片段:
//Find application window handle
hwnd = FindWindow("#32770","Keylogger Exe");
//Send info to app Window.
PostMessage(hwnd,WM_USER+755,wparam,lparam);
在钩子程序的最后我们必须呼叫CallNextHookEx( )函数来传递参数给在下一个钩子链中安装的钩子。我极力推荐这种方法是因为如果不使用它,就会引起不可预知的系统行为和系统锁定。程序用来安装删除钩子,钩子程序如下所示:
KEYDLL3_API void installhook(HWND h)
hook = NULL;
hook = SetWindowsHookEx( WH_KEYBOARD,
hinstance,
if(hook==NULL)
MessageBox( NULL,
"Unable to install hook",
KEYDLL3_API void removehook()
UnhookWindowsHookEx(hook);
KEYDLL3_API LRESULT CALLBACK hookproc( int ncode,
WPARAM wparam,
LPARAM lparam)
if(ncode&=0)
//Find application window handle
hwnd = FindWindow("#32770","Keylogger Exe");
//Send info to app Window.
PostMessage(hwnd,WM_USER+755,wparam,lparam);
//pass control to next hook.
return ( CallNextHookEx(hook,ncode,wparam,lparam) );
如果在内存里有多重DLL的情况,则对不同DLL的情况的每个数据成员它们都有不同的值。但是,某些数据,例如钩子句柄,窗口句柄应该对所有情况都是相同的。这是因为所有情况都发送相同的信息给相同的应用程序窗口。对这而言,我们需要像在DLL的CPP文件中定义共享数据。像下面:
#pragma data_seg(".HOOKDATA")//Shared data among all instances.
HHOOK hook = NULL;
HWND hwnd = NULL;
#pragma data_seg()
现在,连接器必须被给出指令,以便将共享数据放置在DLL单独的空间里。为了这样做,我们使用下列代码,稍后是上面提到的代码:
//linker directive
#pragma comment(linker, "/SECTION:.HOOKDATA,RWS")
对DLL说了这么多,现在我们将来看一下Main application(EXE)。建立一个MFC应用程序(基于窗口或者基于对话框的)。为了简单起见我建立了一个基于对话框的EXE文件。创建这个项目后,到项目设置对话框通过从主菜单中选择Project&Settings,选择“Link”制表符,然后在“Object/library modules”框内显示“Keydll3.lib”,点“OK”。现在,从主菜单中选择Project&Add to project& files插入DLL头文件到工作区。选择我们早先创建的DLL的.h文件,像下面一样将它“#include”在你的项目里:
//Include this for functions in the DLL:
#include "..\Keydll3\Keydll3.h"
这个应该在主对话框类的CPP文件中。现在,在主对话框的类里,增加一个成员函数来处理DLL发送的按键消息。函数如下所示:
afx_msg LRESULT processkey(WPARAM w,LPARAM l);//declaration
LRESULT CKeyexeDlg::processkey(WPARAM w, LPARAM l)//definition
//This block processes the keystroke info.
return 0L;
(这个成员在向导条里可以很容易的添加。)现在,在CPP文件中定义我们从DLL接收的消息,如下所示:
//This message is recieved when key is down/up
#define WM_KEYSTROKE (WM_USER + 755)
现在添加新创建的成员函数作为WM_KEYSTROKE消息的句柄,使用ON_MESSAGE宏在消息映射区(在CPP文件里),像下面:
BEGIN_MESSAGE_MAP(CKeyexeDlg, CDialog)
//{{AFX_MSG_MAP(CKeyexeDlg)
ON_MESSAGE(WM_KEYSTROKE, processkey)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
我们差不多完成了。但是在编译和创建EXE文件前,给Visual studio Library路径添加路径LIB 文件(Keydll3.lib)。为了这样做,从主菜单中选择Tools&Options,然后选择“Directories”制表符。从第二个列表中选择“Library files”,在下面的框内添加DLL的LIB文件。点OK。保存所有的文件和工作区,然后创建你的项目。
要得到关于钩子的更多信息,请看MSDN的下列章节:
 SetWindowsHookEx( ),
 Hook functions,
 Virtual-key codes,
 Keystroke message flags
笔记:对WINDOWSNT\2000来说,你的密码必须通过钩子程序记入日志,如果你没有激活“Ctrl-Alt-Del”登录序列的话。(只有当接通PC时。)&&&&&  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。&&&&&&为你推荐&&&&&&转载本文&UBB代码&HTML代码复制到剪贴板...&更多内容··········&&&&&&&&&频道精选&&&王朝女性&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&王朝分栏&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&王朝编程&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&王朝导购&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&王朝其他&&|&&|&&|&&|&&|&&|&&&&2005-&&版权所有&sendmessage和postmessage区别以及发按键消息没有响应的理解
我的图书馆
sendmessage和postmessage区别以及发按键消息没有响应的理解
首先是返回值意义的区别,我们先看一下 MSDN 里的声明: LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); BOOL PostMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam );&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 其中 4 个参数的意义是一样的,返回值类型不同(其实从数据上看他们一样是一个 32 位的数,只是意义不一样),LRESULT 表示的是消息被处理后的返回值,BOOL 表示的是消息是不是 Post 成功。&&&&&&&&&&&&&&&&&& 2、PostMessage 是异步的,SendMessage 是同步的。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& PostMessage 只把消息放入队列,不管消息是否被处理就返回,消息可能不被处理;而 SendMessage 等&& 待消息被处理完了之后才返回,如果消息不被处理,发送消息的线程将一直被阻塞。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 3、如果在同一个线程内,SendMessage 发送消息时,由 USER32.DLL 模块调用目标窗口的消息处理程&&&& 序,并将结果返回。SendMessage 在同一线程中发送消息并不入线程消息队列。PostMessage 发送消息&&& 时,消息要先放入线程的消息队列,然后通过消息循环分派到目标窗口(DispatchMessage)。&&&&&&&&&&&&&&&& 如果在不同线程内,SendMessage 发送消息到目标窗口所属线程的消息队列,然后发送消息的线程在&&& USER32.DLL 模块内监视和等待消息处理,直到目标窗口处理完返回。SendMessage 在返回前还做了很多工作,比如,响应别的线程向它 SendMessage。Post 到别的线程时,最好用 PostThreadMessage 代替&&& PostMessage,PostMessage 的 hWnd 参数可以是 NULL,等效于 PostThreadMessage + GetCurrentThreadId。Post WM_QUIT 时,应使用 PostQuitMessage 代替。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 4、系统只整编(marshal)系统消息(0 到 WM_USER 之间的消息),发送用户消息(WM_USER 以上)到别的进程时,需要自己做整编。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 用 PostMessage、SendNotifyMessage、SendMessageCallback 等异步函数发送系统消息时,参数里不可以使用指针,因为发送者并不等待消息的处理就返回,接受者还没处理指针就已经被释放了。&&&&&&&&&&&&&&&&&&&& 5、在 Windows 2000/XP 里,每个消息队列最多只能存放 10,000 个 Post 的消息,超过的还没被处理的将&& 不会被处理,直接丢掉。这个值可以改得更大:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]&&&& USERPostMessageLimit,最小可以是 4000。
今天试了用sendmessage给指定窗口发送按键,但是不成功,大概是句柄不对的原因,因为发消息给窗口,并不是发消息给编辑框,二者的句柄是不一样的。
发表评论:
TA的最新馆藏[转]&[转]&[转]&[转]&查看: 2130|回复: 3
DirectUI没有控件句柄,怎么投递消息呢?
阅读权限20
在线时间 小时
结帖率: (3/6)
有很多游戏模拟Ctrl+C& &Ctrl+V 是无效的。
所以我用到message,但是现在很多窗口使用DirectUI绘制出控件(这个是网上查的,具体我不太懂),这样就没有控件的句柄了。
目前我以英雄联盟为例,做了试验:
游戏开始前(登陆后的界面和双方选阵容界面)找出父窗口句柄假设为“12345”,
EnumChildWindows并未发现子窗口句柄。说明聊天栏是使用DirectUI绘制出的控件。
此时选中聊天栏光标后直接对父窗口句柄使用Postmessage(1,内容,0)可以发送成功。(而且聊天栏此时允许复制粘贴)
游戏开始后,找出游戏窗口的句柄。假设为“54321”
使用Postmessage却发送失败。(此时的聊天栏禁止复制粘贴)
并且游戏开始后,点运行无效。必须编译成EXE才能运行。
游戏前的窗口和游戏后的窗口,同样都没有控件句柄。直接对父窗口使用Postmessage,为什么一个能成功,一个却失败了?
所以我猜测,应该是进入游戏后的窗口禁止了这一类的调试,并且也禁止了类似于Postmessage的消息。
那么请问楼下的各位大神,对于这种没有句柄的控件,直接把Postmessage发送到父窗口的做法到底对不对?
如果对,进入游戏后的窗口,为什么会失败?应该怎么做?
在线等大神, 跪求学习!
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至
可获得加分喔。友情提醒:本版被采纳的主题可在
帖子申请荣誉值,获得 1点 荣誉值,荣誉值可兑换终身vip用户组哦。快捷通道: →
阅读权限228
在线时间 小时
签到天数: 3 天结帖率: (18/18)
高大上手机用户
应该是钩子问题吧,进游戏了,屏蔽调试。另外盒子的点赞也是发送消息,复制粘贴,投递文本,
您可以选择打赏方式支持他
阅读权限20
在线时间 小时
结帖率: (3/6)
应该是钩子问题吧,进游戏了,屏蔽调试。另外盒子的点赞也是发送消息,复制粘贴,投递文本,
那我应该怎么做才能达到一键喊话的效果呢?
您可以选择打赏方式支持他
阅读权限228
在线时间 小时
签到天数: 3 天结帖率: (18/18)
高大上手机用户
要么用喊话CALL,要么解包改包发包,不过有人说L盒子的喊话是另外的方式,具体不怎么清楚,不过参考老版的大脚,你可以知道很多
您可以选择打赏方式支持他
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪
违法和不良信息举报电话,企业QQ: ,邮箱:
Powered by
粤公网安备 25}

我要回帖

更多关于 英雄联盟双击没反应 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信