首先,DPI(Dots Per Inch)每英寸的像素点数。 现在的显示器像素点越来越精细,也越来越清晰,但是为什么有些程序字体模糊?下图是在DPI为120%,用 易语言 编译后运行的效果: 因为从Windows Vista开始引入了DPI Virtualization(DPI虚拟化)它会把不支持高DPI的窗口像图片一样缩放,所以看起来模糊。 可以调用 SetProcessDPIAware 告诉DPI虚拟化不要动我 但这样还没完全搞定,因为这个窗口是在DPI为120%设计的,到不同DPI运行界面会错乱。 需要自动调整控件大小,字体大小就不用管了,默认字体会随着DPI变化。 易语言本身不支持DPI适应,为此我开发了一个模块来支持DPI适应。 更改:如果是弹出式窗口则计算并缩放客户区(排除边框、标题栏、菜单栏)。 修复:先放大了组合框,再放大组合框内的编辑框导致大小出现问题,已改成先缩放子窗口,再缩放父窗口,这样父窗口会自动调整子窗口。 另外: 易语言本身也不支持DPI,会被DPI虚拟化搞得很模糊,请右键e.exe属性->兼容性->更改高DPI设置->勾选 代替高DPI缩放行为->应用程序->确定。 不推荐调用SetProcessDPIAware,因为XP没有这个函数,应该用清单来支持DPI,在易语言菜单栏->系统配置->存根->使用用户自定义清单
2022-08-01 09:36:01 7KB 高级教程源码
1
源码说明 1.该安装包可以在外部使用‘生成安装包’ 程序,直接添加超大zip压缩包,亲测100Gzip无压力 2.源码中采用自绘方式创建窗口,无任何易中自带组件,界面修改直接在资源表中替换图片,安装界面就会焕然一新 3.超稳定安装,不报错,安装速度超快,通常几百MB的文件,1-2秒安装完成 4.支持创建快捷方式、创建程序菜单组、添加被安装文件到任务栏、自带通用程序卸载 5.程序中所有功能均已源码方式打包 安装包核心制作方式与传统的安装包大同小异,无非就是选择安装目录,然后选择是否创建快捷方式等,这类源码很多,这里不做说明 其中最特色的与其他安装软件不同的是,源码中采用了‘母程序’将压缩包添加到编译好的安装包尾部,安装包启动的时候将这尾部的大文件分段提取,然后进行安装的处理过程,从而达到了支持100GB的程序安装 不必每次制作安装包,都打开源码,添加压缩包文件,再编译(传统的添加压缩包到资源表是有大小上限的,具体多少没测试,大概也就200MB左右),很麻烦。
2022-07-19 11:46:22 299B 高级教程源码
1
网站安装: 第一步:导入数据库文件 第二步:把源代码上传到网站根目录 第三步:修改config.php文件里面的数据库信息和域名 完成! 现在即可访问域名登陆,默认管理员账号admin 密码admin
2022-07-10 21:05:55 139.23MB PHP脉聊交友网站源码
C语言程序设计案例教程-源码.rar
2022-07-10 16:05:06 53.7MB 教学资料
调用了 止水的雷电模块 和 精益模块 可自行下行 这是很久之前的了, 不知道现在还能不能用了 只为开源学习, 不喜勿喷, 谢谢
2022-07-09 15:19:42 303KB 高级教程源码
1
例子中多数命令都做了详细注释,包括常量也尽量进行了解释,自行参看吧。 源码看点: 1,扩展线程的正常退出方式。 2,指派线程CPU核心。 3,定时信息框的运用。 4,获取系统CPU核心数。 5,自动推荐使用线程数量。 温馨提示:因为是满载模式工作,所以开始工作后你会发现电脑变卡,CPU占用99%,因为所有CPU都被抢占了,如果要避免请修改线程执行的子程序内的代码!!!
2022-07-07 14:00:13 7KB 高级教程源码
1
易语言全局鼠标钩子源码
2022-07-03 14:49:23 2KB 高级教程源码
1
以一个D3D为例子,表现DLL劫持 DLL劫持原理[url=]编辑[/url] 由于输入表中只包含DLL名而没有它的路径名,因此加载程序必须在磁盘上搜索DLL文件。首先会尝试从当前程序所在的目录加载DLL,如果没找到,则在Windows系统目录中查找,最后是在环境变量中列出的各个目录下查找。利用这个特点,先伪造一个系统同名的DLL,提供同样的输出表,每个输出函数转向真正的系统DLL。程序调用系统DLL时会先调用当前目录下伪造的DLL,完成相关功能后,再跳到系统DLL同名函数里执行。这个过程用个形象的词来描述就是系统DLL被劫持(hijack)了。 利用这种方法取得控制权后,可以对主程序进行补丁。此种方法只对除kernel32.dll、ntdll.dll等核心系统库以外的DLL有效,如网络应用程序的ws2_32.dll、游戏程序中的d3d8.dll,还有大部分应用程序都调用的lpk.dll、sxs.dll,这些DLL都可被劫持。 伪造的dll制作好后,放到程序当前目录下,这样当原程序调用原函数时就调用了伪造的dll的同名函数,进入劫持DLL的代码,处理完毕后,再调用原DLL此函数。 这种补丁技术,对加壳保护的软件很有效,选择挂接的函数最好是在壳中没有被调用的,当挂接函数被执行时,相关的代码已被解压,可以直接补丁了。在有些情况下,必须用计数器统计挂接的函数的调用次数来接近OEP。此方法巧妙地绕过了壳的复杂检测,很适合加壳程序的补丁制作。 一些木马或病毒也会利用DLL劫持技术搞破坏,因此当在应用程序目录下发现系统一些DLL文件存在时,如lpk.dll,应引起注意。 首先 运行exe他会把需要的DLL加载进来,加载的目录如无特别的制定的话,现在当前目录找,然后再去系统目录找 我的附件中自带了一个D3D9的绘图程序,是VC写的 调用的是系统的D3D9.DLL(因为目录下没有) 只解压那个exe文件,是不会有文字出现的 如果把其他的DLL一起解压,就会出现下图文字hello D3D hook! 那么我们如何劫持了D3D9.dll呢 d3d9_Ex.dll 这个文件其实就是D3D9.dll了,但是我们改名字了,程序就不认识了 我们先用 把D3D9.DLL的输出表找到,弄到 易语言 里,并且生成D3D9.DLL到目录 这样他调用的就是我们的DLL,但是这样会报错,因为我们的DLL没有内容只是一个壳子 只要我们再把他要调用的函数调用一下不就行了吗 源码中的汇编指令是把函数传递到原来的D3D9。现在的D3D9_Ex里 这样调用就是调用 我们的DLL->原来的DLL,中间就可以加些我们需要的代码了
2022-07-02 13:23:44 1.47MB 高级教程源码
1