找回密码
 中文注册
查看: 445|回复: 9

送给lipgg , MASM (集成宏汇编)摄像头源代码

[复制链接]
发表于 2008-6-21 00:40:02 | 显示全部楼层 |阅读模式
那个帖子删掉了,也许是我误会了,我来这里做这个小版主,水平一般化,只不过比其他人稍微好点而已.
就目前来说,在我有限的时间里,能为大家解决一些常见的计算机问题,还是有这个能力的.
既然你我都热衷于计算机.我希望我们能更好的交流.过去的误会就让他过去吧.毕竟网络只是生活的调味品.
你热衷于计算机,且有能力.我把这段源代码送给你.希望能共同学习和提高自己.


.386
.model flat, stdcall  ;32 bit memory model
option casemap :none  ;case sensitive
include captest.inc
include avicap32.inc
includelib avicap32.lib
.code
    m2m MACRO M1, M2
        push M2
        pop  M1
    ENDM
start:

    invoke GetModuleHandle,NULL
    mov        hInstance,eax

    invoke InitCommonControls
    invoke DialogBoxParam,hInstance,IDD_DIALOG1,NULL,addr DlgProc,NULL
    invoke ExitProcess,0

;########################################################################

DlgProc proc hWin:HWND,uMsg:UINT,wParam:WPARAM,lParam: LPARAM   ;LPARAM 前的空格去掉
    LOCAL hmenu
    LOCAL rec:RECT
    mov        eax,uMsg
    .if eax==WM_INITDIALOG
    .elseif eax==WM_SIZE
        invoke GetClientRect,hWin,addr rec
        invoke MoveWindow,hWndC,rec.left,rec.top,rec.right,rec.bottom,TRUE
    .elseif eax==WM_COMMAND
        .if wParam==10002
            invoke GetMenu,hWin
            mov hmenu,eax
            invoke EnableMenuItem,hmenu,10005,MF_ENABLED
            invoke EnableMenuItem,hmenu,10006,MF_ENABLED
            invoke EnableMenuItem,hmenu,10003,MF_ENABLED
            invoke EnableMenuItem,hmenu,10004,MF_ENABLED
            invoke GetClientRect,hWin,addr rec
            invoke capCreateCaptureWindowA,0,WS_CHILD or WS_VISIBLE,rec.left,rec.top,rec.right,rec.bottom,hWin,0
            mov hWndC,eax
            invoke SendMessage,hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0
               invoke SendMessage,hWndC, WM_CAP_SET_CALLBACK_ERROR, 0, 0
               invoke SendMessage,hWndC, WM_CAP_SET_CALLBACK_STATUSA, 0, 0
               invoke SendMessage,hWndC, WM_CAP_DRIVER_CONNECT, 0, 0
               invoke SendMessage,hWndC, WM_CAP_SET_SCALE, 1, 0
               invoke SendMessage,hWndC, WM_CAP_SET_PREVIEWRATE, 66, 0
               invoke SendMessage,hWndC, WM_CAP_SET_OVERLAY, 1, 0
               invoke SendMessage,hWndC, WM_CAP_SET_PREVIEW, 1, 0
        .elseif wParam==10004
            invoke SendMessage,hWndC,WM_CAP_STOP, 0, 0
            invoke DestroyWindow,hWndC
            mov hWndC,0
            invoke GetMenu,hWin
            mov hmenu,eax
            invoke EnableMenuItem,hmenu,10003,MF_GRAYED
            invoke EnableMenuItem,hmenu,10004,MF_GRAYED
            invoke EnableMenuItem,hmenu,10005,MF_GRAYED
            invoke EnableMenuItem,hmenu,10006,MF_GRAYED
            invoke EnableMenuItem,hmenu,10007,MF_GRAYED
            ;invoke EnableMenuItem,hmenu,10007,MF_GRAYED
        .elseif wParam==10003
            mov save.lStructSize,sizeof save
            m2m save.hwndOwner,hWin
            m2m save.hInstance,hInstance
            m2m save.Flags,OFN_EXPLORER
            m2m save.lpstrFilter,offset Filter
            m2m save.lpstrFile,offset buff
            m2m save.nMaxFile,256
            mov save.lpstrDefExt,offset szDefExt
            mov save.lpstrTitle,offset szSaveCaption
            invoke GetSaveFileName,addr save
            invoke SendMessage,hWndC,WM_CAP_SAVEDIB,0,offset buff
        .elseif wParam==10006
            invoke GetMenu,hWin
            mov hmenu,eax
            invoke EnableMenuItem,hmenu,10007,MF_ENABLED
            mov save.lStructSize,sizeof save
            m2m save.hwndOwner,hWin
            m2m save.hInstance,hInstance
            m2m save.Flags,OFN_EXPLORER
            m2m save.lpstrFilter,offset Filter2
            m2m save.lpstrFile,offset buff
            m2m save.nMaxFile,256
            mov save.lpstrDefExt,offset szDefExt2
            mov save.lpstrTitle,offset szSaveCaption
            invoke GetSaveFileName,addr save
            invoke SendMessage,hWndC,WM_CAP_FILE_SET_CAPTURE_FILEA,0,offset buff
            invoke SendMessage,hWndC, WM_CAP_SEQUENCE, 0, 0
        .elseif wParam==10007
            invoke SendMessage,hWndC,WM_CAP_STOP,0,offset buff
            invoke GetMenu,hWin
            mov hmenu,eax
            invoke EnableMenuItem,hmenu,10003,MF_GRAYED
            ;invoke EnableMenuItem,hmenu,10004,MF_GRAYED
            invoke EnableMenuItem,hmenu,10005,MF_GRAYED
            invoke EnableMenuItem,hmenu,10006,MF_GRAYED
            invoke EnableMenuItem,hmenu,10007,MF_GRAYED
        .endif
    .elseif eax==WM_CLOSE
        invoke EndDialog,hWin,0
    .else
        mov        eax,FALSE
        ret
    .endif
    mov        eax,TRUE
    ret

DlgProc endp

[ 本帖最后由 忆年华 于 2008-6-21 00:47 编辑 ]
发表于 2008-6-21 00:41:31 | 显示全部楼层
看不懂...
回复

使用道具 举报

发表于 2008-6-21 01:13:26 | 显示全部楼层
啥东东```密密麻麻的``

不赖 ``里面的字母什么的还能凑个俺类名字``
回复

使用道具 举报

发表于 2008-6-21 09:16:35 | 显示全部楼层
希望你们只是共同探讨 研究 争论  而不是 。。。。
回复

使用道具 举报

发表于 2008-6-21 09:21:12 | 显示全部楼层
再发英文
打你
回复

使用道具 举报

发表于 2008-6-21 09:25:11 | 显示全部楼层
原帖由 随心飞扬 于 2008-6-21 09:27 发表
再发英文
打你

楼上的说的对,真是看不懂,
回复

使用道具 举报

 楼主| 发表于 2008-6-21 19:05:57 | 显示全部楼层
原帖由 yhss 于 2008-6-21 09:22 发表
希望你们只是共同探讨 研究 争论  而不是 。。。。



说...点....别....的....吧....
回复

使用道具 举报

发表于 2008-6-21 19:44:05 | 显示全部楼层
虽然用不着,但还是谢谢您的热心。这里许多朋友并不明白您发的内容,所以您要有什么好东西,就封装好分享给大家吧!

[ 本帖最后由 lipgg 于 2008-6-21 20:12 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2008-6-21 22:30:57 | 显示全部楼层
是的,这里贴的多半是代码类型的,供一些朋友交流和学习.
不过我打算谁要了再发,不然很多人不会去看这些东西的.
一些东西都已经编译成exe在群共享里给大家使用.

还希望lipgg多多来这里给大家提供帮助,给这个板块捧捧人气啊~~  
回复

使用道具 举报

发表于 2008-6-21 23:39:59 | 显示全部楼层
呵呵!只要能到的,一定尽力
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 中文注册

本版积分规则

Archiver|小黑屋|加入我们|偃师网 ( 豫ICP备11013690号 )

GMT+8, 2025-4-29 08:54 , Processed in 0.031957 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表