怎么在dll中创建窗口,并js调用dll中方法该窗口

相关文章推荐
在前面我们研究了使用AFX_MANAGE_STATE(AfxGetStaticModuleState())进行DLL间的资源切换,以及工作线程中创建Windows消息循环的原理,以为就可以搞定一切类似...
//========================================================================//TITLE://
在非主线程中创建窗口//...
在前面我们研究了使用AFX_MANAGE_STATE(AfxGetStaticModuleState())进行DLL间的资源切换,以及工作线程中创建Windows消息循环的原理,以为就可以搞定...
在前面我们研究了使用AFX_MANAGE_STATE(AfxGetStaticModuleState())进行DLL间的资源切换,以及工作线程中创建Windows消息循环的原理,以为就可以搞定一切类似...
关键词:MFC
多线程,弹出窗口,Doc/View,自定义消息
一、问题提出
不是弹出对话框,是那种带框架(Frame...
可以参考”C#
对 Windows 窗体控件进行线程安全调用“一文来看。
在做网络连接程序的时候碰到一个问题:每当连接到来时,都创建一个新的接收线程,而该接收线程在接收到消息时,可以创建一个新的...
多线程委托之跨线程问题分析
今天在写一个程序测试运行跨线程同步的时候出一个异常信息。
异常信息:System.InvalidOperationException
“在创建窗口句柄之前,不能在控件上调...
这个问题注意以下几个关键点1.DLL的句柄的传入2.线程中的消息循环HINSTANCE g_hI
TCHAR U[2]; //保存U盘的盘符
TCHAR FirstDriveFr...
为什么要讨论窗口和线程讨论这个依然是跟之前的项目经历有关。这里暂且称该项目为 A 项目。A 项目包括一个客户端和服务端,客户端有一个核心的网络模块,该网络模块基于完成端口开发,有多个工作线程,网络模块...
最近做的东西涉及到多线程编程方法,所以找了点资料
本文主要描述基于MFC的多线程技术中的工作者线程,包括线程的建立、传递参数、互斥对象保护以及线程的销毁。还将探讨线程函数作为类的成员函数的情况。...
他的最新文章
讲师:Array
讲师:李志伟
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)安全检查中...
请打开浏览器的javascript,然后刷新浏览器
< 浏览器安全检查中...
还剩 5 秒&在DLL中创建不影响主程序的窗口_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
在DLL中创建不影响主程序的窗口
需要在DLL中创建一个窗口,现有一段代码:
BOOL APIENTRY DllMain( HANDLE hModule,
ul_reason_for_call,
LPVOID lpReserved
char szClassName[ ] = &窗口标题&;
MSG messa...
我有更好的答案
当然,这个窗口在第二次是创建不起来的,因为RegisterClassEx会失败。另外,提醒的是在DLL的DllMain有个很重要的hModule参数,这个参数就如同人的脊椎骨。你的EXE是如何加载这个DLL的?要知道如果是隐式链接,如果不引用DLL中的任何导出函数,则链接器会把该DLL从EXE的导入段中给取出的,最终导致DLL根本不会被加载到进程中?呵呵,有办法的。楼主需要用“进程查看器”之类的工具看下你的DLL是不是真的被加载到了EXE的地址空间了。楼主程序的构建环境是DLL,有什么数据结构和怎样的调用顺序是远远不够的.hInstance 的值就应该是hModule,不能照搬EXE中的代码的,需要灵活运用。既然是DLL,那么DLL中最基本的DllMain含义楼主应该清楚吧。对于while这个语句的调用究竟放哪里好呢,就像学习控制台编程,如果连main的含义都是一知半解就糟糕了。要知道DllMain在 ul_reason_for_call等于DLL_PROCESS_ATTACH时,必须使DllMain函数返回TRUE, ul_reason_for_call的值最初都是DLL_PROCESS_ATTACH。要知道DllMain这个函数并不是只会被EXE调用一次的,当EXE程序对应的进程创建一个新的线程时,估计楼主也无法理解..)代码使得DllMain这个函数根本没有机会返回TRUE or FALSE;最奇怪的是最后是return messages.wParam,EXE才会成功加载该DLL的。不管是隐式链接,还是显式链接,我看见楼主的DLL代码根本就不对 ul_reason_for_call的值进行任何检查,楼主必须应该使DllMain返回(return)TRUE,只有酱子EXE才会真正加载了这个DLL,可while(.。起初, ul_reason_for_call的值为DLL_PROCESS_ATTACH,想象一下,如果进程里又创建了个新线程,楼主的DLL又会再创建一个窗口,这个算什么呢,但解释起来太麻烦了,另一块是“PE文件布局”的分支知识,该函数也会被调用的,灵活应用的基础是要理解代码的含义,光知道有什么函数,绝对不能无视它的存在。像wincl.hModule究竟是什么东西,楼主需要有两块基石,一块是“进程地址空间布局”的分支知识。不易学习! 最后,不对ul_reason_for call进行检查也会使事情一团糟,这个时候ul_reason_for_call值为DLL_THREAD_ATTACH楼主,我有N多的问题想问你,很多程序细节楼主都没给出
采纳率:53%
/question/.html" target="_blank">/question/呵呵,你这个似乎应该用远程进程注入。具体步骤请看我的另一篇回答:<a href="http://zhidao
为您推荐:
其他类似问题
您可能关注的内容
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;盒子 - 用DELPHI创建DLL文件,封装窗体的实现方法实例
盒子资源分类
用DELPHI创建DLL文件,封装窗体的实现方法实例
关键字:delphi dll 创建 窗体 封装
来 自:原创
平 台:Win2k/XP/NT,Win2003
下载所需:0 火柴
深浅度:初级
完成时间:<font color="#10/5/15
发布时间:<font color="#10/5/26
编辑器:DELPHI7
语  种:简体中文
下载浏览:<font color="#93/20982
登陆以后才能下载
自动登陆(30天有效)
虽是原创,但是是参考过别人的作品,然后自己重新写的,目的是要给初学者一个更容易明白。用DELPHI创建DLL文件,封装窗体的实现方法实例:即一个程序不再是单一的一个EXE文件了,而是由一个EXE文件加N个DLL文件组成,这样做的原因是方便以后的维护与更新,也是跨平台开发的重要一步。1,&打开DELPHI,新建一个Dll&Wizard2,&在新建的Dll里新建一个Form3,&在新建的Form里uses&stdctrls4,&在var下面写:Procedure&synapp(App:THandle);Procedure&5,&然后在implementation&下面uses&math6,&在{$R&*.dfm}下面写Procedure&synapp(App:THandle);Begin&&Application.Handle:=EProcedure&Begin&&Form1:=Tform1.create(application);&&Form1.E7,&在dll的Library文件里的{$R&*.res}下面写:exportsSysapp,上面到此为止完成了DLL封装窗体的创建下面是调用了1,&在要调用DLL文件的程序的var下写:Procedure&synapp(App:THandle);external&‘my.dll’&;//----你的DLL文件名Procedure&external‘my.dll’;//----你的DLL文件名注:把你写好的DLL放在本程序的同一目录下,和上面一样,要uses&2,&在你的程序的Button的On&Click事件下写:Synapp(applicatiln.Handle);S
输入您的搜索字词
提交搜索表单
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请!
 相关文章
没有相关文章
共有评论10条
当前显示最后6条评论
<font color="#10/10/10 11:08:08
如果一个DLL中有多个窗体,怎么办?不可能要写N多个调用的代码吧!
<font color="#12/8/15 13:42:55
堪称经典,不错,收藏了。
<font color="#12/8/24 15:23:50
<font color="#12/9/28 15:37:32
什么东西,很菜的,N多问题未解决
<font color="#13/12/2 18:19:33
挺好的,除了有2个错别字1.Synapp,show改为Synapp,2.Synapp(applicatiln.Handle);改为Synapp(application.Handle);改好就可以了
<font color="#14/1/3 14:33:39
这个例子能实现。&但是还是一头雾水。配详细的文字说明比较好。
DELPHI盒子版权所有2011年11月 专题开发/技术/项目大版内专家分月排行榜第一2011年10月 专题开发/技术/项目大版内专家分月排行榜第一2011年9月 专题开发/技术/项目大版内专家分月排行榜第一2011年8月 专题开发/技术/项目大版内专家分月排行榜第一2011年7月 专题开发/技术/项目大版内专家分月排行榜第一2011年6月 C/C++大版内专家分月排行榜第一
2011年7月 C/C++大版内专家分月排行榜第二2011年5月 专题开发/技术/项目大版内专家分月排行榜第二
2015年2月 Java大版内专家分月排行榜第二2014年3月 Java大版内专家分月排行榜第二
2014年9月 Java大版内专家分月排行榜第三2014年6月 Java大版内专家分月排行榜第三2014年2月 Java大版内专家分月排行榜第三2013年11月 Java大版内专家分月排行榜第三2013年10月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 java中调用dll文件 的文章

 

随机推荐