社区
界面
帖子详情
VB加载VC做的DLL
VickiaYong
2006-02-15 09:56:39
如果用VC做一个DLL,实现在DLL内部实现图片加载,并在VB应用程序中显示
比如说,我要显示"c:\TEST.JPG",在VB中通过DLL中功能函数SHOWPIC,将其显示在VB应用程序的窗体上.
...全文
54
1
打赏
收藏
VB加载VC做的DLL
如果用VC做一个DLL,实现在DLL内部实现图片加载,并在VB应用程序中显示 比如说,我要显示"c:\TEST.JPG",在VB中通过DLL中功能函数SHOWPIC,将其显示在VB应用程序的窗体上.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
VickiaYong
2006-02-15
打赏
举报
回复
DLL中的代码如何完成图像的加载???
请指教!!!
vb
6动态
加载
DLL
COM对象-CoCreateInstanceEx中国第一个
vb
6之CoCreateInstanceEx
加载
Com对象中国第一个,其他下载的全是
VC
++等代码,外国网站不让访问,我们百度能搜到的全是旧信息,中国这样怎么发展?
C++调用
vb
6.0制作的Activex
DLL
vs2008 环境下C++代码调用
vb
6.0生成的Activex
dll
。
计算机二级(
VB
)
计算机二级(
VB
)教程,全面、系统、细致地介绍了计算机二级(
VB
)的相关知识点。课程能够帮助学习者快速入门。该课程面向对象:备考计算机二级(
VB
)的课程备课期末考试自学
VB
程序设计课程注意提高学习者实战技巧,授课过程中以实际操作演示为主,帮助学习者快速地掌握编程的实际方法和技巧。课程以2019年计算机二级大纲为主线,详细介绍了
VB
的相关知识点。
一个可用供
VB
、
VC
调用的摄像头视频捕捉
DLL
可用来在
VB
,
VC
中驱动摄像头,进行静帧捕捉的
DLL
动态链接库(必须要有摄像头生成StillCap0000.bmp):将My
Dll
文件解压后把My
Dll
.
dll
与My
Dll
.lib一起拷入工程DEBUG目录中(为保险起见DEBUG的外层目录也拷贝一份吧),另有一个
VC
++6的测试工程test_
Dll
,已经考入相应
DLL
和LIB文件,可直接编译运行,
VB
只拷贝My
Dll
.
dll
与My
Dll
.lib
VB
2008 调用方法,在公共模块中声名: Public Declare Function CreateWnd Lib "My
Dll
" () As Double Public Declare Function ClearGraphs Lib "My
Dll
" () As Double Public Declare Function OnpStillCapture Lib "My
Dll
" (ByVal hwnd As Long) As Double Public Declare Function InitStillGraph Lib "My
Dll
" (ByVal hwnd As Long) As Double Public Declare Function CloseWnd Lib "My
Dll
" () As Double 在窗体上放置2个PictureBox控件,名字为:pic1,pic2 放置三个按键:名字为Btn1,Btn2,Btn3 Btn1为打开视频,调用代码: Private Sub Btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn1.Click InitStillGraph(pic1.Handle) '打开摄像头预览视频 end sub Btn2为截取视频保存为BMP,文件保存在应用程序路径下,调用代码: Private Sub Btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn2.Click OnpStillCapture(pic2.Handle) '截取预览视频一帧图像 end sub Btn3为截取视频保存为清除内存,调用代码: Private Sub Btn3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn3.Click ClearGraphs() '退出前,完成内存清扫工 end sub
VC
调用方法: 在对话框上放置两个图像框,类型为位图,三个按键B1,B2,B3 定义全局函数引用: typedef HWND(* CreateWnd)(void);// typedef HRESULT(* InitStillGraph)(HWND hwnd); typedef void (* OnpStillCapture)(HWND hwnd); typedef int (* ClearGraphs)(); HINSTANCE glibsample; //如果定义成HANDLE类型,则出错 CreateWnd createwnd; InitStillGraph initStillGraph;//定义引用函数 OnpStillCapture onpStillCapture;//定义引用函数 ClearGraphs clearGraphs;//定义引用函数 用类向导为两个位图框建立控件(类型为Contorl)变量,m_p1,m_2 : 在窗口OnInitDialog()函数中调整图像框大小: // TODO: Add your specialized code here and/or call the base class m_p1.MoveWindow(0,0,200,200,true); m_p2.MoveWindow(210,0,200,200,true); glibsample=LoadLibrary("My
Dll
.
dll
"); //
加载
dll
在B1消息函数中: void 你的类::OnB1() { initStillGraph=(InitStillGraph)GetProcAddress(glibsample,"InitStillGraph"); (*initStillGraph)(m_p1.m_hWnd);//预览图像 } 在B2消息函数中: void 你的类::O
vb
6
dll
注入
首先确认你的操作系统为2k以上,否则程序不能将
dll
注入到其它线程中,甚至会出现其它问题。 文件夹中包含4个.rar压缩包、一个.exe文件和一个.
dll
文件,要演示程序可以直接运行.exe文件,在界面上点击『运行记事本』按钮,等记事本运行后再点击『注入远线程』按钮,这时记事本会弹出一个对话框,提示“
DLL
_PROCESS_ATTACH”,说明.
dll
已经被注入并且被调用了,随后再弹出一个对话框,显示的是当前进程
加载
的所有模块的文件名,当然其中也包含我们的.
dll
文件,之后弹出对话框提示“
DLL
_THREAD_DEATH”,线程结束,当记事本进程结束,也就是关闭记事本以后会弹出“
DLL
_PROCESS_DEATH”的提示,.
dll
文件随之结束。 四个.rar文件分别是EnumModule.rar(遍历进程中所有
加载
模块的
vb
代码,nt版)、
Dll
Inject.rar(远线程注入的
vb
代码)、test
dll
.rar(由好人改写的遍历模块的
vc
代码,编译后得到.
dll
文件)和Win32Sdk.rar(
vc
的新版sdk,编译
dll
需要,好人提供)。
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章