把dll改为64位的版本_C++版本demo6发布

  • 增加所有屏幕位置和所有特效窗口最小化动画,屏幕上下左右位置和神奇、缩放、缩放DX、吮吸四种效果

  • 修复上一版本屏幕上、左、右位置图标和dock背景显示不正常问题

  • 修复之前易语言版本DX12内存泄漏问题

  • 优化DX12创建规则,之前默认使用DX11.1版本现改为依次创建,从DX12.1开始逐渐降低DX版本,例如DX12.1、DX12.0、DX11.1、DX11.0,创建的DX12版本根据显卡支持版本决定,如下图

    d420370523c5b88192d1f10090e758a4.png

  • 优化当不支持硬件加速生成多级mipmap纹理时使用opencv生成,同时加入小半径高斯模糊模拟纹理过滤,如下图

    daf3741f0a10c0f2b4631c1c0c8c90be.png

  • 优化代码结构所有绘制和渲染全部使用指针操作,之前易语言不支持指针操作所以每步渲染都要遍历所有图标数组来定位,使用指针可以直接操作省去遍历过程加快整体运行速度

  • 修复上一版本智能隐藏一直会显示/隐藏dock问题

  • 修复上一版本win10系统设置图标不正常问题

  • 优化检测dockmod绕过UAC功能,支持检测修改dock目录

本次更新以后会弹出dockmod的用户账户控制弹窗,先点击【是】

225320f70788b274b44e49df16c76f8e.png

然后会提示添加是否绕过UAC的功能,点击【确定】就能自动添加,下次启动就不会弹窗了

f146f6d8466b19f5dcf58686a8b63eae.png

已知问题:

  • 启动后显示新运行的图标会有图标不能完全缩放的问题,时间有点赶争取下个版本修复

e8e51c38ee758f351af4085c9d3aefef.png

  • 个别系统不能启动64位dock请下载32位dock程序和对应的opencvworld文件,应该是系统的CPU指令集不支持opencv64位的渲染操作,后面会增加GPU渲染图标(仅限win8以上系统)

  • 如果最小化使用DX12没有动画问题可以手动修改配置文件调整为DX11,打开dock目录config.ini文件找到如下代码

[minimize]··········DirectX=12
  • 省略号表示其他文字,找到【DirectX=12】修改为11即可,从此版本开始win8以上系统只能使用DX11和DX12win7可以使用DX9和DX11如果没有DirectX=XX这行文字都会默认使用DX11,win7系统最小化动画开始的时候闪屏这个是窗口刷新延迟问题造成目前很难修复,因为win7的透明窗口使用DWM强制合成的,而win8以上使用系统内置DXGI接口

  • win7系统启动时提示缺少D3DCompiler_47.dll文件可从下方链接下载

    DirectXRepair3.9修复一下即可,如果缺少VCRUNTIME150.dll文件安装VC++2015运行库即可(运行库32位、64位对应dock版本安装)

https://cloud.189.cn/t/Z3aQJnJVNjuu

下个版本更新右键菜单功能,预计一到两周完成争取一周完成

如果新版本需要添加开机启动需要手动设置使用此文章第一条操作,注意不要使用开机启动修复工具要使用后面的计划任务方法,如果有之前易语言版本dock的开机启动项直接修改最后的操作路径即可

a8063dcf406b331b4d35ccc3510d1de9.png

网盘链接,点击【阅读原文】直达

https://mydockfinder.lanzous.com/b03mlebmj
### 回答1: c 调用 dll demo 是指使用 C 语言编写程序,调用一个动态链接库(DLL)示例。动态链接库是一种包含可供其他程序调用的函数和资源的文件。通过调用 DLL,C 程序可以使用 DLL 中提供的功能,实现各种功能扩展。 首先,我们需要使用 C 语言编写一个调用 DLL 的程序。在程序中,我们需要包含 DLL 的头文件,并声明需要调用的函数的原型。然后,我们通过调用 LoadLibrary 函数加载 DLL 文件,并使用 GetProcAddress 函数获取 DLL 中需要调用的函数地址。最后,我们可以通过调用获取的函数地址来调用 DLL 中的函数。 例如,我们创建一个名为 main.c 的文件,其中包含以下代码: ```c #include <stdio.h> #include <windows.h> typedef int (*MY_DLL_FUNC)(int); // 定义函数指针类型,用于存储 DLL 中的函数地址 int main() { HMODULE hDll = LoadLibrary("demo.dll"); // 加载 DLL 文件 if (hDll == NULL) { printf("无法加载 DLL 文件。\n"); return -1; } MY_DLL_FUNC myFunc = (MY_DLL_FUNC)GetProcAddress(hDll, "my_function"); // 获取函数地址 if (myFunc == NULL) { printf("无法找到函数。\n"); return -1; } int result = myFunc(10); // 调用函数 printf("DLL 函数返回值为:%d\n", result); FreeLibrary(hDll); // 释放 DLL return 0; } ``` 在上述代码中,我们加载了一个名为 demo.dllDLL 文件,并从中获取了名为 my_function 的函数的地址。然后,我们将参数 10 传递给 my_function,并打印其返回值。 编译并运行上述代码后,即可功调用 DLL 中的函数,并获得对应的结果。这样,我们就实现了通过 C 调用 DLL 的示例。 需要注意的是,实际的 DLL 文件中的函数名和参数类型可能会有所不同,需要根据具体情况进行修改。另外,在使用完后,需要使用 FreeLibrary 函数释放已加载的 DLL。 ### 回答2: 调用dll demo 是指在编程中使用动态链接库(Dynamic Link Library)来实现某种功能。DLL是一种可供多个程序共享使用的库文件,其中包含一些函数和数据,通过调用这些函数可以实现一些特定的操作。下面是一个简单的调用dll demo的示例: 首先,我们需要确定要调用的dll文件的名称和路径。通常,dll文件需要与程序在同一目录下,或者在系统的搜索路径中。 接下来,在程序中引入dll文件。这可以通过使用import关键字或者使用专门的函数来实现。 然后,我们需要确定要调用的函数的名称和参数。我们可以通过查看dll文件的文档或者使用一些工具来获取这些信息。一旦确定了函数的名称和参数,我们就可以使用这个函数来实现我们想要的操作。 最后,我们需要在程序中调用dll函数。这可以通过使用函数名称和参数来实现。调用dll函数的过程中,我们需要注意参数的类型和顺序,确保和dll函数的定义一致,以免出现错误。 调用dll demo的过程中,我们需要注意一些问题。首先,确保dll文件的正确性和完整性,防止出现无法调用或者调用错误的问题。其次,我们需要合理处理dll函数返回的结果,以确保程序的正确运行。此外,还需要注意程序的兼容性和可移植性,以便在不同的平台和环境中都能够正常运行。 总之,调用dll demo 是一种常见的编程技术,通过使用动态链接库可以方便地实现一些功能。在使用过程中,我们需要明确dll文件的名称和路径,引入dll文件,确定要调用的函数和参数,最后在程序中调用dll函数。同时,我们还需要注意dll文件的正确性和完整性,处理函数返回的结果,并保证程序的兼容性和可移植性。 ### 回答3: C 调用 DLL demo 是指在 C 语言中调用动态链接库(DLL)的示例程序。DLL 是一种包含可被共享和重复使用的代码和数据的文件,它可以被不同的程序同时使用,从而提高代码的重用性和灵活性。 在 C 语言中,调用 DLL 需要使用特定的函数和约定。首先,需要在程序中包含 DLL 的头文件,其中包含了 DLL 中导出函数的声明。接下来,在代码中使用提供的函数名来调用 DLL 中的函数。 具体的示例程序可能如下: ``` #include <stdio.h> #include <windows.h> // 声明 DLL 中的函数 typedef int (*AddFunction)(int, int); int main() { HINSTANCE hDll; // DLL的句柄 AddFunction add; // 对应 DLL 中的函数指针 // 加载 DLL hDll = LoadLibrary("demo.dll"); if (hDll != NULL) { // 获取 DLL 中的函数地址 add = (AddFunction)GetProcAddress(hDll, "Add"); if (add != NULL) { int result = add(3, 5); printf("The result is: %d\n", result); } else { printf("Failed to find the 'Add' function in the DLL.\n"); } // 卸载 DLL FreeLibrary(hDll); } else { printf("Failed to load the DLL.\n"); } return 0; } ``` 上述示例代码中,首先使用 `LoadLibrary` 函数加载 DLL,然后使用 `GetProcAddress` 函数获取 DLL 中的函数地址,再通过函数指针调用 DLL 中的函数。最后,使用 `FreeLibrary` 函数卸载 DLL。 当运行该示例程序时,会调用 DLL 中的 `Add` 函数,该函数接受两个整数参数并返回它们的和。程序输出结果为两个整数相加的和。 需要注意的是,上述示例中的函数名和参数类型需要根据实际情况进行修改。另外,确保 DLL 文件与程序在同一目录下或者可以通过正确的路径访问到它,以便功加载 DLL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值