当前位置: 首页 > news >正文

做产品推广哪个网站好wordpress 邮件差价

做产品推广哪个网站好,wordpress 邮件差价,专题页面设计模板,网站建设需求量大目录 前言 一、user32.dll 1.什么是user32.dll 2.如何使用user32.dll 二、句柄Handle 1.句柄 2.句柄的功能 3.拿句柄的方法 三、窗口置顶 1.窗口置顶的方法 2.参数说明 3.使用方法 四、作者的碎碎念 前言 up依旧挑战全网讲解最详细版本~~ 本篇文章讲解的是unity…目录 前言 一、user32.dll 1.什么是user32.dll 2.如何使用user32.dll 二、句柄Handle 1.句柄 2.句柄的功能 3.拿句柄的方法 三、窗口置顶 1.窗口置顶的方法 2.参数说明 3.使用方法  四、作者的碎碎念 前言 up依旧挑战全网讲解最详细版本~~ 本篇文章讲解的是unity打包了window的安装包使用的窗口设置安卓之类的不在此列~ 一、user32.dll 1.什么是user32.dll 想要窗口置顶其实已经不是在控制软件了实际上请求的是windows的帮助告诉系统“系统把我放到最上面~”。 这时候就需要和系统做一些交互让我们去写和系统交互这部分代码那是不可能的。我们就知道怎么用就行。user32.dll是微软写好的文件里面封装了很多方法可以让我们直接和系统交互。 备注 up这里只讲和窗口置顶相关的方法。如果你想知道还有哪些方法呢可以查询下方链接。 Windows API 索引 - Win32 apps | Microsoft Learn windows系统是微软公司研发的所以这个网页是微软公司放出来给大家写的一些说明书还有其他内容可以查到大家可以自己查询。 如果你真的去查阅了你会发现他的方法和我们是不一样的的。 如图2所示方法IntPtr GetForegroundWindow() 链接是 GetForegroundWindow 函数 (winuser.h) - Win32 apps | Microsoft Learn 在原文中是 图1 方法GetForegroundWindow() 你会发现画红圈圈那里是不一样的那怎么办呢 因为在封装的时候使用词汇进行了一点改变在另外一个链接里有说明 用平台调用封送数据 - .NET Framework | Microsoft Learn 图2 部分分装说明 在C#中我们所有的HWND都被Intptr代替。 全部表格如下 2.如何使用user32.dll 因为我们的方法都来自于这个dll所以我们每次要把dll里的方法拿出来我们才能用。所以我们每一个系统方法上面必须要写[DllImport(user32.dll)]如图3所示 图3 引用user32.dll 二、句柄Handle 1.句柄 关于为什么这么翻译up在网上没有找到官方的说明这里up自己的理解是“句子的手柄”。 句子代表我们写的很多代码手柄就是平时玩游戏的手柄我们通过句柄来控制东西。我们需要这个控制的权限。 2.句柄的功能 我们看见的每个窗口都有个专用的手柄你要控制谁就需要拿到这个手柄。如图4单纯皮一下所示 图4 孙悟空吸句柄 3.拿句柄的方法 下方函数的意思是寻找句柄并返回句柄。 官方链接FindWindowExA 函数 (winuser.h) - Win32 apps | Microsoft Learn HWND FindWindowExA([in, optional] HWND hWndParent,[in, optional] HWND hWndChildAfter,[in, optional] LPCSTR lpszClass,[in, optional] LPCSTR lpszWindow ); 上面是官方给的C的代码按照表格我们翻译成C#的代码。 [DllImport(user32.dll)] static extern IntPtr FindWindowExA( IntPtr hWndParent, IntPtr hWndChildAfter, string lpszClass, string lpszWindow); 这里解释一下里面不常见的词汇 extern因为这个方法不是unity自带的而是user32.dll里面的所以如果直接写就会报错因为他会在你所有的代码里面查一遍发现查不到FindWindowExA这个方法就会报错。如图5所示所以在方法中必须标明这是外部方法不要在代码里找了找不到的。 因此这个单词一般和[DllImport(*****)]一起出现。 图5 方法报错 IntPtr声明句柄这里就不多说了 参数解释 IntPtr hWndParent父窗口的句柄        窗口也分父子窗口如图6所示浏览器就是父窗口浏览器中还有好多子窗口。所以查找时候会问你要在哪个父窗口下找吗如果这里填IntPtr.Zero那就是查找所有的父窗口。 图6 浏览器 IntPtr hWndChildAfter从某个子窗口句柄往后开始找 如图6所示如果我想从Unity屏幕置顶往后开始找那我这里就要把这个窗口的句柄传进去同样如果填IntPtr.Zero那就是查找所有的子窗口。 string lpszClass窗口类别        窗口是有很多类别的除了刚看的浏览器这种窗口开始菜单栏也属于窗口。显然这不是一个类别的窗口所以如果你对窗口类别有限制就填在这里。如果没有就填写null 图7 菜单窗口 string lpszWindow 窗口名称        输入你要找的窗口名称对unity打包后的软件来说窗口名称就是软件的名称就是如图8所示。 图8 unity最终打包后的窗口名称 到此为止通过使用这个方法我们就可以拿到软件的句柄了。 [DllImport(user32.dll)]static extern IntPtr FindWindowExA(IntPtr hWndParent, IntPtr hWndChildAfter, string lpszClass, string lpszWindow);public string projectName;IntPtr intPtr;void Start(){intPtr FindWindowExA(IntPtr.Zero, IntPtr.Zero, null, projectName);} 三、窗口置顶 1.窗口置顶的方法 官方链接SetWindowPos 函数 (winuser.h) - Win32 apps | Microsoft Learn BOOL SetWindowPos([in] HWND hWnd,[in, optional] HWND hWndInsertAfter,[in] int X,[in] int Y,[in] int cx,[in] int cy,[in] UINT uFlags ); 改编成C#的方法 [DllImport(user32.dll)]static extern bool SetWindowPos( IntPtr intPtr, int hwndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); 备注 如果注意看的小伙伴会问我为什么 int hwndInsertAfter是int呢不应该是IntPtr吗 这个比较特殊因为在官方文档里备注了。如图9所示 图9 hwndInsertAfter注解 注解的意思是这里要填数字int 1        放在所有窗口最下面 -2       放在置顶窗口以外的第一层 0        单次置顶 -1        永远置顶  2.参数说明 IntPtr intPtr                     填写你想要控制的句柄    int hwndInsertAfter           前面讲过按照需求填一下 int X:                                     你打算把窗口放在哪个屏幕的哪个位置中的x    int Y:                                     你打算把窗口放在哪个屏幕的哪个位置中的y int cx:                                    你的窗口分辨率宽如果全屏显示这个没有意义 int cy:                                    你的窗口分辨率高如果全屏显示这个没有意义 uint uFlags:                           功能很多如图10所示 图10 uFlags 你用哪个就填写下面的数字就行了。 这次我们选择如图11所示意思就是显示窗口并且可以操作。 图11 0x0040 3.使用方法  using System; using System.Runtime.InteropServices; using UnityEngine;public class myWindowMod : MonoBehaviour {[DllImport(user32.dll)]static extern IntPtr FindWindowExA(IntPtr hWndParent, IntPtr hWndChildAfter, string lpszClass, string lpszWindow);//引入设置窗口方法[DllImport(user32.dll)]static extern bool SetWindowPos(IntPtr intPtr, int hwndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);public string projectName;IntPtr intPtr;void Start(){intPtr FindWindowExA(IntPtr.Zero, IntPtr.Zero, null, projectName);//设置窗口 //句柄 //放在位置0,0 //显示窗口并能操作SetWindowPos(intPtr, -1,0,0,1920,1080, 0x0040);//永久置顶 //窗口分辨率1920,1080} } 以上就是置顶窗口的全部代码 四、作者的碎碎念 这一部分涉及到很多内容确实不太好学大家加油啊~ 在程序这么复杂的环境下大家也不想失去一个这么努力的把知识讲详细的up吧多点赞收藏关注就能给我能量哦~谢谢大家。
http://www.dnsts.com.cn/news/222355.html

相关文章:

  • 做网站怎样赚到钱北京4网站建设
  • 广西明电建设有限公司网站上海的软件外包公司
  • 上海崇明林业建设有限公司网站wordpress恢复默认
  • 文山做网站的地方360网站排名优化
  • 建网站麻烦拍照备案审核多久行业门户网站运营
  • 教育门户网站建设方案网站的目录结构
  • 怎么自己开一个网站哈尔滨网站关键字优化
  • 郑州专业制作网站多少钱投票活动网站怎么做
  • 网站建设都需学哪些做个网站怎样做的
  • 提升学历最快是哪种方式谷歌seo零基础教程
  • 企业网站开发背景则么写最新清远发布
  • 恩施网站建设模板网站建社石家庄
  • 网站开发和oa有什么区别中博建设集团有限公司网站
  • 济南网站开发xywlcn搭建wordpress靶机
  • 哪个网站可以做平面兼职建筑网校有哪些
  • 全国好的深圳网站设计广州建筑公司招聘
  • 中小企业网站建设服务做海报的素材哪个网站
  • 免费建站系统怎么用手机怎么制作游戏
  • 蚂蜂窝网站源码制作网页的基本步骤记事本
  • 公司网站建设费用会计入账制作灯笼的材料和做法
  • 清廉桂林网站注册网站域名后免费建站
  • 上海长宁网站建设网站制作关键字排名
  • 福州建设网站效果图旅游电子商务的网站建设
  • 企业摄影网站模板网站栏目建设存在的问题
  • 网站 售前重庆装修公司电话
  • 做网站主要注意些什么问题如何在百度发广告推广
  • 网站上怎么做星星评分建设网站宣传页
  • 网站规划包含哪些内容无锡做网站公司有哪些电话
  • 国外网站做问卷淘宝店铺购买的服务在哪里
  • 网站建设捌金手指花总三深圳好的网站建