外挂博朗定制扑克厂…

您好,欢迎来到中国供应商
您好,欢迎来到中国供应商!
供应软件开发,软件定制,管理软件整合,现有ERP软件外挂工具等
供应软件开发,软件定制,管理软件整合,现有ERP软件外挂工具等
营业执照已上传
邮箱已验证
手机已验证
发货地浙江&嘉兴
发货期限45天内发货
供货总量1111套
营业执照已上传
邮箱已验证
手机已验证
经营模式|商业服务
注册资本|30万人民币
企业类型|私营有限责任公司
公司地址|浙江 嘉兴 颐高数码大厦1-19F
供应产品分类
本页信息为嘉兴市谷泰信息技术有限公司为您提供的“”产品信息,如您想了解更多关于“供应软件开发,软件定制,管理软件整合,现有ERP软件外挂工具等”价格、型号、厂家,请联系厂家,或给厂家留言。
供应软件开发,软件定制,管理软件整合,现有ERP软件外挂工具等
嘉兴谷泰信息技术有限公司是嘉兴地区专业的软件开发企业,公司拥有先进的开发平台,可以定制开发客户管理上的困难之处。谷泰是您企业信息化的可靠伙伴,助您跨越障碍,创造新的盈利!
供应商信息
嘉兴市谷泰信息技术有限公司(GoodTek)成立于2008年,是一家专业从事企业管理软件咨询、开发和技术服务的高新技术企业,公司位于嘉兴市中心商务区-运河新区-颐高广场,嘉兴市东接上海,北邻苏州,南濒杭州湾,是长三角的中心,交通便利,地理位置优越。
??????公司专注于企业管理方面的软件,产品涉及财务、供应链、生产制造、客户关系管理、协同办公等一系列与企业经营活动紧密相关的环节,我们面向活力的中小型企业,提供高性价比的管理软件和丰富的信息化解决方案以及优质的售后服务,坚持以“客户成功,我们成功”为服务宗旨,努力创建信息化服务的品牌公司。
????? 公司拥有一支优秀的团队,富有激情和朝气,又具备踏实做事的精神,核心成员都有多年在一流外企工作的背景,拥有丰富的专业技术知识和管理经验。谷泰,您值得信赖的信息技术专家。
?? ?公司成立以来就加入了嘉兴市温州商会,有了温州商会这个平台,结识和服务了很多温州老乡的企业。我们谷泰希望为更多的老乡提供优质的企业信息化和管理软件方面服务。
?? ? ?谷泰助您跨越障碍,创造新的盈利!
主营产品或服务
30万人民币
公司注册时间
公司所在地
浙江 嘉兴 颐高数码大厦1-19F
私营有限责任公司
法定代表人
工商注册号
电 话|573-
传 真|573-
地 址|浙江 嘉兴 颐高数码大厦1-19F
浙江 嘉兴 颐高数码大厦1-19F
嘉兴市谷泰信息技术有限公司
免责声明:
本商铺内所展现的供应软件开发,软件定制,管理软件整合,现有ERP软件外挂工具等信息及其他相关信息均由商铺所属企业自行提供,信息的真实性、准确性和合法性由商铺所属企业完全负责。中国供应商对此不承担任何保证责任。
友情提醒:
建议您在购买相关产品前务必确认供应商资质及产品质量,过低的价格有可能是虚假信息,请谨慎对待,谨防欺诈行为。
地址:浙江 嘉兴 颐高数码大厦1-19F
电话:573-
技术支持:外挂学习(69)
&&&&&&& 上一篇文章介绍了“TabSiPlus”是如何进行代码注入的,本篇将介绍如何构建一个外挂软件最重要的部分,也就是为其扩展功能的定制代码。本文前面提到过,由于windows进程管理的限制,扩展代码必须以动态链接库的形式挂载到被挂程序的进程空间中,使用上一篇介绍的方法已经可以通过创建远程线程的方式启动一个线程,让这个线程加载我们的定制动态链接库,现在就看看这个动态链接库是如何实现的。
&&& 首先这是一个动态链接库,因为考虑到扩展功能中有大量的界面操作,所以选择支持MFC,同时,还要提供一个名为“InitFunc”的导出函数,供在被挂程序中启动的远程线程调用,以初始化外挂动态链接库,这个导出函数的原型是这样的:
typedef DWORD (WINAPI *PFN)();
没有参数,但是有一个返回值用于表示初始化是否成功。现在就用Visual C++的向导生成一个支持MFC的动态链接库的框架,并手工添加一个名为“InitFunc”的导出函数,如果你还不清楚怎么做,那么可以停止看本文了,因为本文可能对你毫无用处。
&&& 在生成的代码中,MFC对DllMain进行了封装,所以有了一个CxxxApp的类,xxx与你的动态链接库的名字一致,TabSiPlus使用的是CTabSiPlusApp,现在有三个地方需要特别注意,一个是CTabSiPlusApp::InitInstance(),一个是CTabSiPlusApp::ExitInstance(),另一个就是我们的导出函数“InitFunc”。当远程线程中LoadLibrary()调用我们的定制动态链接库时,CTabSiPlusApp::InitInstance()被调用,当FreeLibrary()调用发生时,CTabSiPlusApp::ExitInstance()被调用,当然,伴随而出现的还有两个函数调用,那就是CTabSiPlusApp类的构造函数和析构函数,部分初始化代码也可以放在构造函数中完成,不过并不推荐这样做,因为如果因为构造函数触发异常导致LoadLibrary()失败,那么随后的析构函数也不会被调用,因为构造函数没有完成对象的构造,同时,由于LoadLibrary()失败,使得FreeLibrary()调用分支没有执行,那么导致CTabSiPlusApp::ExitInstance()也没有被调用,这会引起资源释放的异常。
&&& 很显然,CTabSiPlusApp::InitInstance()的调用发生在InitFunc函数的调用之前,所以要控制好初始化代码之前的先后关系。CTabSiPlusApp::InitInstance()中布置对资源初始化的代码,而诸如创建文件标签栏窗口,Hook “Source Insight”窗口消息,管理这些消息的代码则可以布置到InitFunc函数中实现。这里需要注意的是由于我们的外挂代码是以动态链接库的形式挂载到“Source Insight”进程中的,所以它没有消息循环,所有的窗口UI系统无法正常工作,解决的办法有两个,一个是在InitFunc函数创建窗口之后人为地添加一个消息循环,关于这一点如何实现可以参考Windows
SDK编程的方法;另一个方法就是不要把主要的工作放在InitFunc,而是在InitFunc函数中再创建一个本地线程,把窗口UI这些麻烦的东西放在这个线程中处理,这样就可以利用这个线程的消息循环使窗口UI系统工作起来,这样做还有一个好处,就是InitFunc函数可以立即返回,加载外挂的宿主程序也可以及时得到外挂的加载情况,以便根据情况安排下一次加载动作(就是调用CreateRemoteThread()),同时还可以及时释放在被挂程序中分配的内存。TabSiPlus就是采用的第二种方法,下面就是TabSiPlus的InitFunc函数实现,当然省去了一些代码,主要核心就是一行:
DWORD WINAPI InitFunc()
&&& //其它初始化操作
&&& g_pTabWndUIThread = (CTabWndUIThread *)AfxBeginThread(RUNTIME_CLASS(CTabWndUIThread),THREAD_PRIORITY_NORMAL,0,0,NULL);
&&& //其它操作
&&& return (g_pTabWndUIThread != NULL);
在CTabWndUIThread类的InitInstance()函数中创建标签栏窗口,hook “Source Insight”中相关窗口的消息:
BOOL CTabWndUIThread::InitInstance()
& AFX_MANAGE_STATE(AfxGetStaticModuleState());
& g_pSiFrameWnd = new CSIFrameWnd(); //CWnd::FromHandle(hDevStudioWnd);
& g_pSiFrameWnd-&Attach(hWndSIFrame); //hook SI主窗口
& HWND hMDIWnd = g_pSiFrameWnd-&GetMDIClientWnd();
&&& //UINT uThressID = GetCurrentThreadId();
& // create the tabs window
& m_pTabbarWnd = new CTabBarsWnd();
& m_pTabbarWnd-&Create(CWnd::FromHandle(g_pSiFrameWnd-&GetSafeHwnd()),&
&&& &&& RBS_BANDBORDERS | RBS_AUTOSIZE | RBS_FIXEDORDER | RBS_DBLCLKTOGGLE,&
&&& &&& & WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | CBRS_TOP | CBRS_SIZE_FIXED, AFX_IDW_REBAR );
&&& m_pMainWnd = m_pTabbarW//这很重要,否则这个线程就无法退出
&&& g_pSiFrameWnd-&SetTabbarWnd(m_pTabbarWnd-&GetSafeHwnd());
&&& g_MdiChildMng.SetTabbarWnd(m_pTabbarWnd-&GetSafeHwnd());
&&& m_pTabbarWnd-&SetWindowPos(CWnd::FromHandle(hMDIWnd)-&GetWindow(GW_HWNDPREV), 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
&&& g_pSiMDIClientWnd = new CSiMDIWnd();
&&& g_pSiMDIClientWnd-&SetTabbarWnd(m_pTabbarWnd-&GetSafeHwnd());
&&& DebugTracing(gnDbgLevelNormalDebug,_T(&MDI Client Attach...&));
&&& g_pSiMDIClientWnd-&Attach(hMDIWnd);
&&& DebugTracing(gnDbgLevelNormalDebug,_T(&MDI Client Enum...&));
&&& g_pSiMDIClientWnd-&EnumMdiChildWnd(g_MdiChildMng,TRUE);
&&& DebugTracing(gnDbgLevelNormalDebug,_T(&MDI Client Enum end (%d)&),g_MdiChildMng.GetChildCount());
&&& pGlobalActiveSIWindow = g_MdiChildMng.LookupMdiChild(g_pSiMDIClientWnd-&MDIGetActive(NULL));
&&& g_pSiMDIClientWnd-&SetManaging(true);
&&& return TRUE;
是不是很象标准单文档结构的MFC程序中的CxxxApp::InitInstance()函数?特别是对m_pMainWnd的赋值?对m_pMainWnd赋值其实很重要,否则线程就会直接退出,对m_pMainWnd赋值还有一个好处,就是关闭m_pTabbarWnd窗口就会中止CTabWndUIThread线程,这和标准单文档结构的MFC程序中的结果一样。
&&& CTabWndUIThread::InitInstance()函数中有很多是对“Source Insight”内部窗口进行hook的代码,那么TabSiPlus是如何得到这些窗口的句柄呢,又是如何关联它们之间的消息呢,请看下篇:给Source Insight做个外挂系列之四--分析“Source Insight”
Source Insignt文件标签外挂:TabSiPlus的下载地址:
版权声明:本文为博主原创文章,未经博主允许不得转载。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:185224次
积分:4435
积分:4435
排名:第4752名
原创:87篇
转载:1172篇
(1)(17)(48)(17)(33)(43)(28)(52)(49)(17)(80)(40)(70)(164)(176)(111)(102)(54)(13)(36)(15)(35)(36)(23)今日: 14|昨日: 29|帖子: 60802|会员: 12678|欢迎新会员:
<img id="category__img" src="static/image/common/collapsed_no.gif" title="收起、展开十二格" alt="收起、展开十二格" onclick="toggle_collapse('category_');" onload="showPrompt(null, null, '亲,快登录吧! 登录后就可浏览更多精彩内容哦 ^o^ ', '2000');"/>
[09-25 21:28]
[09-25 21:23]
[09-25 20:04]
[09-25 11:22]
[09-25 11:00]
[09-24 18:13]
[09-24 18:07]
[09-24 10:31]
[09-24 10:10]
363 / 3316
昨天&16:44
版主: , , , ,
773 / 7420
版主: , , , , , , , , , , , , , , , , ,
1926 / 2万
版主: , , , , ,
674 / 6888
版主: , , ,
183 / 2260
昨天&09:46
版主: , , , , ,
126 / 2055
昨天&22:10
版主: , , , , , , , , , , ,
203 / 7425
昨天&13:58
版主: , , , ,
121 / 1643
版主: , , , , , , , ,
前天&12:46
前天&09:48
- 194 人在线
- 15 会员(0 隐身),
179 位游客
- 最高记录是 779 于 .
超级Vip & & &
管理员 & & &
超级版主 & & &
版主 & & &
会员 & & &
致力为CimatronE用户减轻工作量
Powered by  本模块提供定制各种办公自动化辅助软件,从而简化流程、提高效率、解决疑难、排除疑虑,适合个人、团体、单位、企业等各类型组织。如公文定向处理、信息定时发布、流程控制、个人疑难解答、合同管理、系统管理、小秘书服务等。(图片内容仅作示意范例,下同)
  通过定制自动化办公软件,可大幅简化工作流程、提高时间效率,解决人工疑难等问题。劳动强度的降低、简洁而高效的效率、精度的提高、资料的保护、办公理念的改变、自动智能化的发展等等,使之在自动化办公旅途中发挥着越来越重要且不可替代的作用。
  比如:在工程行业,CAD已成为该行业第一大应用软件,其分布性、智能型、便捷性使之发挥着越来越重要的作用。但与此同时,行业属性的弊端性,也在另一方面阻碍着CAD的发展脚步。我们以PDF图纸转换CAD图纸为例具体阐述办公自动化在公文处理中的实际意义。
  再如,国土测量行业对地质灾害面积、损失因子、地貌之间的关系,可对应开发一款软件,用于自动测算并测绘。
  再如,工程施工中配盘表自动测算程序,钣金下料自动模拟程序;个人疑难问题针对性的自动化开发,繁琐杂糅的事情。都可以交给自动化办公软件去实施,从而大幅减少工作时间与强度。
  以我们常遇到的OCR自动识别问题为例。我们在日常工作中,常常需要把一本书,或若干页纸上的文字转换为电子版可以复制的文字,进而加工处理。如若派遣3~5员工,3~5电脑去手动输入,无疑在浪费资源的同时,还在耗费着时间与精力,缓慢而高强度的工作,换来的是错误率很高的二次复查与更正。然而,这一切都可以交给自动化办公软件去实施:简洁、高效、正确率、智能化、自动化、办公化等等一系列的优点,使自动化办公软件必然永随时间浪潮,越发光明。
  我们只需要做一件事情,就是定制适合自己的、适合特定问题的、适合繁琐的、适合疑难问题的,有针对性的个性化定制服务软件。
办公自动化的特点
  1、办公自动化是一门综合性的技术。
  2、办公自动化是一个具有信息处理功能的人机信息系统。
  3、办公自动化是对语音、数据、图像和文字等信息的一体化处理过程。
  4、办公自动化的目标,是为了提高办公效率和办公质量,它为人们生产更高价值信息提供了辅助手段。
办公自动化的功能和作用
  1、数据处理
  2、文字处理
  3、声音、图形、图像处理
  4、通信功能
  5、辅助决策功能
办公自动化的未来
  1.办公自动化设备不断涌现
  2.人机界面不断改进
  3.办公自动化系统集成技术
  4.办公自动化系统引入了多媒体技术
  5.现代化通信技术提高了办公自动化系统的效能
本文来自微信公众账号提交,由微信啦收录,转载请注明出处。
微信扫码 分享文章}

我要回帖

更多关于 3d定制女仆2汉化 的文章

更多推荐

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

点击添加站长微信