• 当前位置: 首页 > 系统I类源码 > 系统工具源码易语言应用程序图标修改器源码
  • 易语言应用程序图标修改器源码

    • 软件授权:
      开源软件
    • 软件大小:
      314.47 KB
    • 文件类型:
      .zip,.e
    • 下载次数:
    • 上传用户:
      心脏
    • 发布时间:
      2018-10-11 14:33
    • 软件等阶:
    • 运行环境:
      Winall,Win2003,WinXP,Win7,Win8
    • 软件评级:

    软件介绍             



     

    应用程序图标修改器源码


    系统结构:修改程序图标,取关联文件名,显示图标路径及图标,通过句柄取图标,初始化颜色表,CaptureDC,GetBitsAddress,GetBitsSize,BytesPerLine,Create,SetPixelColor,GetBitmapInfoAddress,GetWidth,GetHeight,WIDTHBYTES,GetColorTableAddress,GetBitCount,BMP文件头转字节集,BMP信息头转字节集,CNoColorTable,GetColorTableSize,NumDIBColorEntries,Write,RtlMoveMemory3,RtlMoveMemory4,BeginUpdateResourceA,EndUpdateResourceA,UpdateResourceA,RtlMoveMemory1,RtlMoveMemory2,ExtractAssociatedIcon,SHGetFileInfo,GetDC,CreateSolidBrush,FillRect,DrawIconEx,CreateCompatibleBitmap,CreateCompatibleDC,SelectObject,ReleaseDC,DeleteDC,DeleteObject,DrawIcon,GetClassLongA,FindWindowA,GetWindow,GetWindowTextA,GetWindowTextLengthA,GetDesktopWindow,IsWindowVisible,GetCurrentProcess,lstrcpyn,ReadProcessMemory,WriteProcessMemory,memcpy,CreateDIBSection,BitBlt,GdiFlush,SendMessage,FindExecutable,


    ======窗口程序集1
               |  |
               |  |------ __启动窗口_创建完毕
               |  |
               |  |------ _颜色选择器1_颜色被改变
               |  |
               |  |------ 修改程序图标
               |  |
               |  |------ 取关联文件名
               |  |
               |  |------ _按钮_打开EXE_被单击
               |  |
               |  |------ _按钮_开始修改_被单击
               |  |
               |  |------ _按钮_显示ICO_被单击
               |  |
               |  |------ 显示图标路径及图标
               |  |
               |  |------ 通过句柄取图标
               |  |
               |  |------ _按钮_保存图标_被单击
               |  |
               |  |------ _拖放对象1_得到文件
               |  |
               |  |------ _拖放对象3_得到文件
               |  |
               |  |------ _拖放对象2_得到文件
               |  |
               |  |
    ======位图操作类
               |  |
               |  |------ _初始化
               |  |
               |  |------ _销毁
               |  |
               |  |------ 初始化颜色表
               |  |
               |  |------ CaptureDC
               |  |
               |  |------ GetBitsAddress
               |  |
               |  |------ GetBitsSize
               |  |
               |  |------ BytesPerLine
               |  |
               |  |------ Create
               |  |
               |  |------ SetPixelColor
               |  |
               |  |------ GetBitmapInfoAddress
               |  |
               |  |------ GetWidth
               |  |
               |  |------ GetHeight
               |  |
               |  |------ WIDTHBYTES
               |  |
               |  |------ GetColorTableAddress
               |  |
               |  |------ GetBitCount
               |  |
               |  |------ BMP文件头转字节集
               |  |
               |  |------ BMP信息头转字节集
               |  |
               |  |------ CNoColorTable
               |  |
               |  |------ GetColorTableSize
               |  |
               |  |------ NumDIBColorEntries
               |  |
               |  |------ Write
               |  |
               |  |
    ======调用的Dll
               |  |
               |  |---[dll]------   RtlMoveMemory3
               |  |
               |  |---[dll]------   RtlMoveMemory4
               |  |
               |  |---[dll]------   BeginUpdateResourceA
               |  |
               |  |---[dll]------   EndUpdateResourceA
               |  |
               |  |---[dll]------   UpdateResourceA
               |  |
               |  |---[dll]------   RtlMoveMemory1
               |  |
               |  |---[dll]------   RtlMoveMemory2
               |  |
               |  |---[dll]------   ExtractAssociatedIcon
               |  |
               |  |---[dll]------   SHGetFileInfo
               |  |
               |  |---[dll]------   GetDC
               |  |
               |  |---[dll]------   CreateSolidBrush
               |  |
               |  |---[dll]------   FillRect
               |  |
               |  |---[dll]------   DrawIconEx
               |  |
               |  |---[dll]------   CreateCompatibleBitmap
               |  |
               |  |---[dll]------   CreateCompatibleDC
               |  |
               |  |---[dll]------   SelectObject
               |  |
               |  |---[dll]------   ReleaseDC
               |  |
               |  |---[dll]------   DeleteDC
               |  |
               |  |---[dll]------   DeleteObject
               |  |
               |  |---[dll]------   DrawIcon
               |  |
               |  |---[dll]------   GetClassLongA
               |  |
               |  |---[dll]------   FindWindowA
               |  |
               |  |---[dll]------   GetWindow
               |  |
               |  |---[dll]------   GetWindowTextA
               |  |
               |  |---[dll]------   GetWindowTextLengthA
               |  |
               |  |---[dll]------   GetDesktopWindow
               |  |
               |  |---[dll]------   IsWindowVisible
               |  |
               |  |---[dll]------   GetCurrentProcess
               |  |
               |  |---[dll]------   lstrcpyn
               |  |
               |  |---[dll]------   ReadProcessMemory
               |  |
               |  |---[dll]------   WriteProcessMemory
               |  |
               |  |---[dll]------   memcpy
               |  |
               |  |---[dll]------   CreateDIBSection
               |  |
               |  |---[dll]------   BitBlt
               |  |
               |  |---[dll]------   GdiFlush
               |  |
               |  |---[dll]------   SendMessage
               |  |
               |  |---[dll]------   FindExecutable

      


    应用程序图标修改器源码


    调用的DLL命令:


    .DLL命令 RtlMoveMemory3, , , "RtlMoveMemory"
        .参数 pDest, ICONDIR, 传址
        .参数 pSrc, 字节集, 传址
        .参数 ByteLen, 整数型


    .DLL命令 RtlMoveMemory4, , , "RtlMoveMemory"
        .参数 pDest, ICONDIRENTRY, 传址
        .参数 pSrc, 字节集, 传址
        .参数 ByteLen, 整数型


    .DLL命令 BeginUpdateResourceA, 整数型, "kernel32", "BeginUpdateResourceA", , 启动在可执行文件中更新资源的进程,用于启动在一个可执行文件中更新资源的进程 ——注解:为了对执行文件或DLL中的资源进行更新可以首先调用BeginUpdateResource函数然后为准备修改的每个资源都调用一次UpdateResource最后用EndUpdateResource关闭资源以便结束更新操作
        .参数 pFileName, 文本型, 传址, 指定可执行文件或DLL的名字将要对它的资源进行更新.调用这个函数的时候文件绝对不能执行
        .参数 bDeleteExistingResources, 逻辑型, , TRUE(非零)表示删除文件中当前所有资源.如为FALSE则只改变在UpdateResource调用期间指定的现有资源


    .DLL命令 EndUpdateResourceA, 逻辑型, , "EndUpdateResourceA", , 终止在可执行文件中的资源更新,函数功能:该函数终止在可执行文件中的资源更新——返回值:如果函数运行成功,并且通过调用UpdateResource函数指定的不断积聚的资源修正内容被写入指定的可执行文件,那么其返回值为非零。如果函数运行失败,其返回值为零。若想获得更多的错误信息,请调用GetLastError函数。
        .参数 hUpdate, 整数型, , 用于资源更新的句柄。此句柄通过BeginUpdateResource函数返回
        .参数 fDiscard, 逻辑型, , 用来说明是否向可执行文件中写入资源更新内容。如果此参数为TRUE,则在可执行文件中无变化;如果此参数为FALSE,则在可执行文件中写入变化


    .DLL命令 UpdateResourceA, 逻辑型, , "UpdateResourceA", , 增加删除替代某可执行文件中的资源,函数功能:该函数增加,删除,或替代某可执行文件中的资源。——返回值:如果函数运行成功,返回值为非零;如果函数运行失败,返回值为零。若想获得更多的错误信息,请调用GetLastError函数。注意:应用程序重复使用UpdateResource去改变资源数据。每次UpdateResource调用都要占用系统内部的一个增加、删除、替代的列表,而实际上并没有将数据写到可执行文件中。应用程序必须通过使用EndUpdateResource函数将每次积累的变化写入可执行文件中。
        .参数 hUpdate, 整数型, , 指定更新文件句柄。此句柄由BeginUpdateResource函数返回。
        .参数 lPTyPe, 整数型, , 指向说明将被更新的资源类型的字符串,它以NULL为终止符。这个参数可以是一个通过宏MAKENTRESOURCE传递的整数值,含义参见EnumResLangProc\lpType。资源类型名称(例如   RT_ICONRT_ANIICON等)
        .参数 IPName, 整数型, , 指向说明待被更新的资源名称的字符串,它以NULL为终止符。这个参数可以是一个通过宏MAKEINTRESOURCE传递的整数值
        .参数 wLanguage, 整数型, , 可以使用MAKELANGID构造
        .参数 lpData, 字节集, 传址, 指向被插入可执行文件的资源数据的指针。如果资源是预定义类型值之一,那么数据必须是有效且适当排列的。注意这是存储在可执行文件中原始的一进制数据,而不是由Loadlcon,LoadString或其他装载特殊资源函数提供的数据。所有包含字符串、文本的数据必须是Unicode格式;IpData不能指向ANSI数据。存放资源的二进制数据的地址
        .参数 cbData, 整数型


    .DLL命令 RtlMoveMemory1, , "kernel32.dll", "RtlMoveMemory", , 拷贝内存01_,
        .参数 目标, GRPICONDIRENTRY, , any
        .参数 缓冲区, ICONDIRENTRY, , any
        .参数 尺寸, 整数型


    .DLL命令 RtlMoveMemory2, , "kernel32.dll", "RtlMoveMemory", , 拷贝内存01_,
        .参数 目标, 字节集, 传址, any
        .参数 缓冲区, GRPICONDIR, 传址, any
        .参数 尺寸, 整数型


    .DLL命令 ExtractAssociatedIcon, 整数型, "shell32.dll", "ExtractAssociatedIconA", , 这个函数可判断一个可执行程序或DLL中是否存在图标,或是否有图标与系统注册表中指定的文件存在关联。随后,它允许我们提取出那些图标
        .参数 hInst, 整数型, , Long,当前应用程序的实例句柄。也可用GetWindowWord函数取得拥有一个窗体或控件的示例的句柄
        .参数 文件名, 文本型, , String,指定一个文件名,准备从该文件中提取图标。如果文件并非执行程序或DLL本身,但通过系统注册表与一个可执行文件关联,就用这个字串装载可执行程序的名字
        .参数 索引值, 整数型, , Long,在其中装载图标在可执行文件中的资源标识符


    .DLL命令 SHGetFileInfo, 整数型, , "SHGetFileInfo", 公开
        .参数 pszPath, 文本型
        .参数 dwFileAttributes, 整数型
        .参数 psfi, SHFILEINFO
        .参数 cbFileInfo, 整数型
        .参数 uFlags, 整数型


    .DLL命令 GetDC, 整数型, , "GetDC", 公开
        .参数 hwnd


    .DLL命令 CreateSolidBrush, 整数型, "gdi32.dll", "CreateSolidBrush", 公开
        .参数 crColor, 整数型


    .DLL命令 FillRect, 整数型, "user32.dll", "FillRect", 公开
        .参数 hdc, 整数型
        .参数 lpRect, RECT, 传址
        .参数 hBrush, 整数型


    .DLL命令 DrawIconEx, 整数型, , "DrawIconEx", 公开, 描绘一个图标或鼠标指针
        .参数 hdc
        .参数 xLeft
        .参数 yTop
        .参数 hIcon
        .参数 cxWidth
        .参数 cyWidth
        .参数 istepIfAniCur
        .参数 hbrFlickerFreeDraw
        .参数 diFlags


    .DLL命令 CreateCompatibleBitmap, 整数型, "gdi32.dll", "CreateCompatibleBitmap", 公开, 执行成功返回位图句柄,零表示失败
        .参数 hdc, 整数型, , 设备场景句柄
        .参数 nWidth, 整数型, , 位图宽度
        .参数 nHeight, 整数型, , 位图高度


    .DLL命令 CreateCompatibleDC, 整数型, "gdi32.dll", "CreateCompatibleDC", 公开, 新设备场景句柄,若出错则为零
        .参数 hdc, 整数型, , hdc,源设备场景句柄


    .DLL命令 SelectObject, 整数型, "gdi32.dll", "SelectObject", 公开, 每个设备场景都可能有选入其中的图形对象。其中包括位图、刷子、字体、画笔以及区域等等。一次选入设备场景的只能有一个对象。选定的对象会在设备场景的绘图操作中使用。例如,当前选定的画笔决定了在设备场景中描绘的线段颜色及样式,与以前选入设备场景的相同hObject类型的一个对象的句柄,零表示出错。如选定的对象是一个区域(Region),结果就是下列常数之一:SIMPLEREGION, COMPLEXREGION 或 NULLREGION 对区域进行描述, GDI_ERROR 表示出错
        .参数 hdc, 整数型, , 一个设备场景的句柄
        .参数 hObject, 整数型, , 一个画笔、位图、刷子、字体或区域的句柄


    .DLL命令 ReleaseDC, 逻辑型, "user32.dll", "ReleaseDC", 公开
        .参数 hwnd, 整数型
        .参数 hDC, 整数型


    .DLL命令 DeleteDC, 整数型, "gdi32.dll", "DeleteDC", 公开, 删除专用设备场景或信息场景,释放所有相关窗口资源。不要将它用于GetDC函数取回的设备场景,执行成功则为非零,失败则为零
        .参数 hdc, 整数型, , 将要删除的设备场景


    .DLL命令 DeleteObject, 整数型, "gdi32.dll", "DeleteObject", 公开, 用这个函数删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放,非零表示成功,零表示失败
        .参数 hObject, 整数型, , 一个GDI对象的句柄


    .DLL命令 DrawIcon, 整数型, "user32", "DrawIcon"
        .参数 hDC, 整数型
        .参数 x, 整数型
        .参数 y, 整数型
        .参数 hIcon, 整数型


    .DLL命令 GetClassLongA, 整数型
        .参数 hwnd
        .参数 m


    .DLL命令 FindWindowA, 整数型
        .参数 类名
        .参数 标题, 文本型


    .DLL命令 GetWindow, 整数型
        .参数 源窗口
        .参数 关系


    .DLL命令 GetWindowTextA
        .参数 hwnd
        .参数 标题, 文本型, 传址
        .参数 long


    .DLL命令 GetWindowTextLengthA, 整数型
        .参数 hwnd


    .DLL命令 GetDesktopWindow, 整数型


    .DLL命令 IsWindowVisible, 逻辑型
        .参数 hwnd


    .DLL命令 GetCurrentProcess, 整数型, "kernel32.dll", "GetCurrentProcess", , 获取当前进程句柄


    .DLL命令 lstrcpyn, 整数型, "kernel32.dll", "lstrcpyn", , 取变量地址,返回内存地址(此API还有其他作用)
        .参数 lpString1, 字节集, 传址, 欲取其指针的变量,一定要传址
        .参数 lpString2, 字节集, 传址, 欲取其指针的变量一定要传址.重复一次
        .参数 iMaxLength, 整数型, , 这里无用,给0


    .DLL命令 ReadProcessMemory, 整数型, "kernel32.dll", "ReadProcessMemory", , 读内存数据
        .参数 hProcess, 整数型, , 进程句柄
        .参数 lpBaseAddress, 整数型, , 内存地址
        .参数 lpBuffer, 字节集, 传址, 数据指针
        .参数 nSize, 整数型, , 长度
        .参数 lpNumberOfBytesWritten, 整数型, , 实际长度


    .DLL命令 WriteProcessMemory, 整数型, "kernel32.dll", "WriteProcessMemory", , 写内存数据
        .参数 hProcess, 整数型, , 进程句柄
        .参数 pBaseAddress, 整数型, , 内存地址
        .参数 lpBuffer, 字节集, 传址, 数据指针
        .参数 nSize, 整数型, , 长度
        .参数 lpNumberOfBytesWritten, 整数型, , 实际写出长度


    .DLL命令 memcpy, , "Kernel32.dll", "RtlMoveMemory", , 复制内存(无返回值)
        .参数 Destination, 整数型, , 目的指针
        .参数 Source, 整数型, , 源指针
        .参数 Length, 整数型, , 复制长度


    .DLL命令 CreateDIBSection, 整数型, "gdi32.dll", "CreateDIBSection"
        .参数 hDC, 整数型
        .参数 pBitmapInfo, 字节集, 传址
        .参数 un, 整数型
        .参数 lplpVoid, 整数型, 传址
        .参数 handle, 整数型
        .参数 dw, 整数型


    .DLL命令 BitBlt, 整数型, "gdi32.dll", "BitBlt"
        .参数 hDestDC, 整数型
        .参数 x, 整数型
        .参数 y, 整数型
        .参数 nWidth, 整数型
        .参数 nHeight, 整数型
        .参数 hSrcDC, 整数型
        .参数 xSrc, 整数型
        .参数 ySrc, 整数型
        .参数 dwRop, 整数型


    .DLL命令 GdiFlush, 整数型, "gdi32.dll", "GdiFlush", , 执行任何未决的绘图操作,如所有未决的绘图操作都成功完成,就返回TRUE(非零)。如任何一个操作失败,就返回零值


    .DLL命令 SendMessage, 整数型, "user32.dll", "SendMessageA"
        .参数 hwnd, 整数型
        .参数 wMsg, 整数型
        .参数 wParam, 整数型
        .参数 lParam, 整数型


    .DLL命令 FindExecutable, 整数型, "shell32.dll", "FindExecutableA", , , 查找与一个指定文件关联在一起的程序的文件名。可用Windows注册表编辑器将文件类型与特定的应用程序关联到一起。比如,扩展名为.TXT的文本文件通常与Windows记事本(Notepad.exe)关联到一起。如在文件管理器中双击含.TXT扩展名的一个文件,会自动启动记事本,并在其中载入文本文件 大于32表示成功;31表示不存在文件类型的关联;0表示系统内存或资源不足;ERROR_FILE_NOT_FOUND表示指定的文件不存在;ERROR_PATH_NOT_FOUND表示指定的路径不存在;ERROR_BAD_FORMAT表示执行格式无效
        .参数 程序名, 文本型, , 指定要为其查找相关程序的一个文件名或程序名
        .参数 完整路径, 文本型, , 要使用的默认目录的完整路径
        .参数 字串缓冲区, 字节集, 传址, 指定一个字串缓冲区,用于装载可执行程序的名字。注意这个字串预先至少都要初始化成MAX_PATH个字符的长度;

    相关软件

    下载说明

    本站目前主要提供易语言源码、模块、支持库等下载大部分源码均为ZIP打包,
    注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
    部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
    由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。

    使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。

     

    推荐排行

    • 易语言糊模查找窗口标题

      易语言糊模查找窗口标题并弹出源码,枚举系统所有窗口,GetWindow,GetWindowText,GetWindowTextLength,FindWindow,ShowWindow...

    • 易语言其它简易换肤13种源

      易语言其它简易换肤13种源码,配色...

    • 易语言简单的验证码识别

      易语言简单的验证码识别加界面源码,主识别程序,是否符合,说明,程序初始化,显示验证码,分割图片,对应识别,替换杂色,全部替换色,除指定色外全部除去,读入图片...

    • 易语言笔划输入法一整套

      易语言笔划输入法一整套文件源码,子程序1,数清,清,按钮1,按钮2,按钮3,按钮4,按钮5,注,投递文本,解码火星文,计1,笔画字刷新,操作,字刷新,计,填,GetGUIThreadInfo,ClientToScreen,屏幕截图,拖动屏幕...

    • 易语言窗口渐变源码

      易语言窗口渐变源码,CreateSolidBrush,DeleteObject,FillRect,GetDC...

    • 易语言窗体拉动源码

      易语言窗体拉动源码,设置系统菜单,API_设置窗口区域,创建椭圆区域,取窗口风格,置窗口风格...

    • 易语言突破灰色按钮和水

      易语言突破灰色按钮和水波特效,突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,装载图片_,接收装载图返回的整数,水周期_,窗口绘图,水波特效_,突破灰色按钮,激活按钮,取得当...

    • 易语言突破灰色按钮和水

      易语言突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,突破灰色按钮,激活按钮,取得当前活动窗口句柄,枚举所有子窗体,是否活动窗口,激活窗口...

    • 易语言科大讯飞语音库调

      易语言科大讯飞语音库调用例程源码,刷新窗口,取错误码,初始化,反初始化,连接语音服务器,断开语音服务器,置合成参数,取合成参数,字符串合成到音频文件,文本文件合成到音频文件,播放...