透明桌面软件研究
系统结构:MakeTrans,设主窗透明度,Ansi转Unicode,BitBlt,DeleteObject,SetWindowLong,AlphaBlend,UpdateLayeredWindow,CreateDIBSection,GetDIBits,SetDIBits,CreateCompatibleDC,SelectObject,DeleteDC,CopyMemory,SetWindowPos,GetWindowLong,GetDC,GdipCreateFromHDC,GdipCreateFromHWND,GdipDeleteGraphics,GdipGetDC,GdipReleaseDC,GdipDrawImageRect,GdipLoadImageFromFile,GdipCloneImage,GdipGetImageWidth,GdipGetImageHeight,GdipCreateBitmapFromHBITMAP,GdipBitmapGetPixel,GdipBitmapSetPixel,GdipDisposeImage,GdipCreateBitmapFromFile,ReleaseCapture,SendMessage,GdiplusStartup,GdiplusShutdown,GdipGraphicsClear,获取设备场景,MultiByteToWideChar,SetLayeredWindowAttributes,textout,复制场景位图_,释放设备场景_,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ __启动窗口_鼠标左键被按下
| |
| |------ __启动窗口_将被销毁
| |
| |------ MakeTrans
| |
| |------ 设主窗透明度
| |
| |------ Ansi转Unicode
| |
| |------ __启动窗口_位置被改变
| |
| |------ _滑块条1_位置被改变
| |
| |
======窗口程序集2
| |
| |------ _窗口1_创建完毕
| |
| |------ _窗口1_位置被改变
| |
| |------ _窗口1_将被销毁
| |
| |------ _按钮1_被单击
| |
| |------ _编辑框1_内容被改变
| |
| |
======调用的Dll
| |
| |---[dll]------ BitBlt
| |
| |---[dll]------ DeleteObject
| |
| |---[dll]------ SetWindowLong
| |
| |---[dll]------ AlphaBlend
| |
| |---[dll]------ UpdateLayeredWindow
| |
| |---[dll]------ CreateDIBSection
| |
| |---[dll]------ GetDIBits
| |
| |---[dll]------ SetDIBits
| |
| |---[dll]------ CreateCompatibleDC
| |
| |---[dll]------ SelectObject
| |
| |---[dll]------ DeleteDC
| |
| |---[dll]------ CopyMemory
| |
| |---[dll]------ SetWindowPos
| |
| |---[dll]------ GetWindowLong
| |
| |---[dll]------ GetDC
| |
| |---[dll]------ GdipCreateFromHDC
| |
| |---[dll]------ GdipCreateFromHWND
| |
| |---[dll]------ GdipDeleteGraphics
| |
| |---[dll]------ GdipGetDC
| |
| |---[dll]------ GdipReleaseDC
| |
| |---[dll]------ GdipDrawImageRect
| |
| |---[dll]------ GdipLoadImageFromFile
| |
| |---[dll]------ GdipCloneImage
| |
| |---[dll]------ GdipGetImageWidth
| |
| |---[dll]------ GdipGetImageHeight
| |
| |---[dll]------ GdipCreateBitmapFromHBITMAP
| |
| |---[dll]------ GdipBitmapGetPixel
| |
| |---[dll]------ GdipBitmapSetPixel
| |
| |---[dll]------ GdipDisposeImage
| |
| |---[dll]------ GdipCreateBitmapFromFile
| |
| |---[dll]------ ReleaseCapture
| |
| |---[dll]------ SendMessage
| |
| |---[dll]------ GdiplusStartup
| |
| |---[dll]------ GdiplusShutdown
| |
| |---[dll]------ GdipGraphicsClear
| |
| |---[dll]------ 获取设备场景
| |
| |---[dll]------ MultiByteToWideChar
| |
| |---[dll]------ SetLayeredWindowAttributes
| |
| |---[dll]------ textout
| |
| |---[dll]------ 复制场景位图_
| |
| |---[dll]------ 释放设备场景_
调用的DLL命令:
.DLL命令 BitBlt, 整数型, "gdi32.dll", "BitBlt"
.参数 hDestDC, 整数型
.参数 x, 整数型
.参数 y, 整数型
.参数 nWidth, 整数型
.参数 nHeight, 整数型
.参数 hSrcDC, 整数型
.参数 xSrc, 整数型
.参数 ySrc, 整数型
.参数 dwRop, 整数型
.DLL命令 DeleteObject, 整数型, "gdi32", "DeleteObject"
.参数 hObject, 整数型
.DLL命令 SetWindowLong, 整数型, "user32", "SetWindowLongA"
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.DLL命令 AlphaBlend, 逻辑型, "Msimg32.dll", "AlphaBlend"
.参数 hdcDest, 整数型
.参数 nXOriginDest, 整数型
.参数 lnYOriginDest, 整数型
.参数 nWidthDest, 整数型
.参数 nHeightDest, 整数型
.参数 hdcSrc, 整数型
.参数 nXOriginSrc, 整数型
.参数 nYOriginSrc, 整数型
.参数 nWidthSrc, 整数型
.参数 nHeightSrc, 整数型
.参数 bf, 整数型
.DLL命令 UpdateLayeredWindow, 整数型, "user32.dll", "UpdateLayeredWindow"
.参数 hwnd, 整数型
.参数 hdcDst, 整数型
.参数 pptDst, 整数型, , Any
.参数 psize, Size, , Any
.参数 hdcSrc, 整数型
.参数 pptSrc, POINTAPI, , Any
.参数 crKey, 整数型
.参数 pblend, BLENDFUNCTION
.参数 dwFlags, 整数型
.DLL命令 CreateDIBSection, 整数型, "gdi32.dll", "CreateDIBSection"
.参数 hdc, 整数型
.参数 pBitmapInfo, BITMAPINFO
.参数 un, 整数型
.参数 lplpVoid, 整数型, , Any
.参数 handle, 整数型
.参数 dw, 整数型
.DLL命令 GetDIBits, 整数型, "gdi32.dll", "GetDIBits"
.参数 aHDC, 整数型
.参数 hBitmap, 整数型
.参数 nStartScan, 整数型
.参数 nNumScans, 整数型
.参数 lpBits, 整数型, , Any
.参数 lpBI, BITMAPINFO
.参数 wUsage, 整数型
.DLL命令 SetDIBits, 整数型, "gdi32.dll", "SetDIBits"
.参数 hdc, 整数型
.参数 hBitmap, 整数型
.参数 nStartScan, 整数型
.参数 nNumScans, 整数型
.参数 lpBits, 整数型, , Any
.参数 lpBI, BITMAPINFO
.参数 wUsage, 整数型
.DLL命令 CreateCompatibleDC, 整数型, "gdi32.dll", "CreateCompatibleDC"
.参数 hdc, 整数型
.DLL命令 SelectObject, 整数型, "gdi32.dll", "SelectObject"
.参数 hdc, 整数型
.参数 hObject, 整数型
.DLL命令 DeleteDC, 整数型, "gdi32.dll", "DeleteDC"
.参数 hdc, 整数型
.DLL命令 CopyMemory, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 整数型, , Any
.参数 Source, 整数型, , Any
.参数 Length, 整数型
.DLL命令 SetWindowPos, 整数型, "user32.dll", "SetWindowPos"
.参数 hwnd, 整数型
.参数 hWndInsertAfter, 整数型
.参数 x, 整数型
.参数 y, 整数型
.参数 cx, 整数型
.参数 cy, 整数型
.参数 wFlags, 整数型
.DLL命令 GetWindowLong, 整数型, "user32.dll", "GetWindowLongA"
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.DLL命令 GetDC, 整数型, "user32.dll", "GetDC"
.参数 hwnd, 整数型
.DLL命令 GdipCreateFromHDC, 整数型, "gdiplus", "GdipCreateFromHDC", , GpStatus
.参数 hdc, 整数型
.参数 graphics, 整数型, 传址
.DLL命令 GdipCreateFromHWND, 整数型, "gdiplus", "GdipCreateFromHWND", , GpStatus
.参数 hwnd, 整数型
.参数 graphics, 整数型
.DLL命令 GdipDeleteGraphics, 整数型, "gdiplus", "GdipDeleteGraphics", , GpStatus
.参数 graphics, 整数型
.DLL命令 GdipGetDC, 整数型, "gdiplus", "GdipGetDC", , GpStatus
.参数 graphics, 整数型
.参数 hdc, 整数型
.DLL命令 GdipReleaseDC, 整数型, "gdiplus", "GdipReleaseDC", , GpStatus
.参数 graphics, 整数型
.参数 hdc, 整数型
.DLL命令 GdipDrawImageRect, 整数型, "gdiplus", "GdipDrawImageRect", , GpStatus
.参数 graphics, 整数型
.参数 image, 整数型
.参数 x, 小数型, , Single
.参数 y, 小数型, , Single
.参数 Width, 小数型, , Single
.参数 Height, 小数型, , Single
.DLL命令 GdipLoadImageFromFile, 整数型, "gdiplus", "GdipLoadImageFromFile", , GpStatus
.参数 filename, 字节集
.参数 image, 整数型, 传址
.DLL命令 GdipCloneImage, 整数型, "gdiplus", "GdipCloneImage", , GpStatus
.参数 image, 整数型
.参数 cloneImage, 整数型
.DLL命令 GdipGetImageWidth, 整数型, "gdiplus", "GdipGetImageWidth", , GpStatus
.参数 image, 整数型
.参数 Width, 整数型, 传址
.DLL命令 GdipGetImageHeight, 整数型, "gdiplus", "GdipGetImageHeight", , GpStatus
.参数 image, 整数型
.参数 Height, 整数型, 传址
.DLL命令 GdipCreateBitmapFromHBITMAP, 整数型, "gdiplus", "GdipCreateBitmapFromHBITMAP", , GpStatus
.参数 hbm, 整数型
.参数 hpal, 整数型
.参数 bitmap, 整数型
.DLL命令 GdipBitmapGetPixel, 整数型, "gdiplus", "GdipBitmapGetPixel", , GpStatus
.参数 bitmap, 整数型
.参数 x, 整数型
.参数 y, 整数型
.参数 color, 整数型
.DLL命令 GdipBitmapSetPixel, 整数型, "gdiplus", "GdipBitmapSetPixel", , GpStatus
.参数 bitmap, 整数型
.参数 x, 整数型
.参数 y, 整数型
.参数 color, 整数型
.DLL命令 GdipDisposeImage, 整数型, "gdiplus", "GdipDisposeImage", , GpStatus
.参数 image, 整数型
.DLL命令 GdipCreateBitmapFromFile, 整数型, "gdiplus", "GdipCreateBitmapFromFile", , GpStatus
.参数 filename, 整数型
.参数 bitmap, 整数型
.DLL命令 ReleaseCapture, 整数型, "user32", "ReleaseCapture"
.DLL命令 SendMessage, 整数型, "user32", "SendMessageA"
.参数 hwnd, 整数型
.参数 wMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型, , Any
.DLL命令 GdiplusStartup, 整数型, "gdiplus.dll", "GdiplusStartup", , GpStatus *
.参数 token, 整数型, 传址
.参数 inputbuf, GdiplusStartupInput
.参数 outputbuf, 整数型, , Optional ByVal outputbuf As Long = 0
.DLL命令 GdiplusShutdown, , "gdiplus", "GdiplusShutdown", , *
.参数 token, 整数型
.DLL命令 GdipGraphicsClear, 整数型, "gdiplus", "GdipGraphicsClear", , GpStatus *
.参数 graphics, 整数型
.参数 ARGB
.DLL命令 获取设备场景, 整数型, "user32.dll", "GetDC", , 获取指定窗口的设备场景,出错则为0
.参数 窗口句柄, 整数型, , hwnd 将获取其设备场景的窗口的句柄。若为0,则要获取整个屏幕的DC
.DLL命令 MultiByteToWideChar, 整数型, , "MultiByteToWideChar", , 这个是Ansi转Unicode用的
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpMultiByteStr, 文本型, 传址
.参数 cchMultiByte, 整数型
.参数 lpWideCharStr, 字节集, 传址
.参数 cchWideChar, 整数型
.DLL命令 SetLayeredWindowAttributes, 整数型, , "SetLayeredWindowAttributes"
.参数 hwnd
.参数 crKey, , , 将被透明掉的颜色
.参数 bAlpha, , , 透明度
.参数 dwFlags, , , 1=crKey起作用,2=bAlpha起作用,3=两者共同起作用
.DLL命令 textout, , "gdi32.dll", "TextOutA"
.参数 hdc
.参数 x
.参数 y
.参数 str, 文本型
.参数 tex_num
.DLL命令 复制场景位图_, 整数型, "gdi32.dll", "BitBlt"
.参数 目标设备场景, 整数型, , hDestDC,目标设备场景
.参数 目标横坐标, 整数型, , x,对目标设备场景中目标矩形左上角位置进行描述的那个点
.参数 目标纵坐标, 整数型, , y,对目标设备场景中目标矩形左上角位置进行描述的那个点
.参数 传输图像宽度, 整数型, , nWidth,欲传输图象的宽度
.参数 传输图像高度, 整数型, , nHeight,欲传输图象的高度
.参数 源设备场景, 整数型, , hSrcDC,源设备场景。如光栅运算未指定源,则应设为0
.参数 源横坐标, 整数型, , xSrc,对源设备场景中源矩形左上角位置进行描述的那个点
.参数 源纵坐标, 整数型, , ySrc,对源设备场景中源矩形左上角位置进行描述的那个点
.参数 光栅运算方式, 整数型, , dwRop,传输过程要执行的光栅运算
.DLL命令 释放设备场景_, 整数型, "user32", "ReleaseDC"
.参数 窗口句柄, 整数型
.参数 设备场景, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。