<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[baoolong的博客]]></title><description><![CDATA[菜鸟—龙]]></description><link>https://blog.youkuaiyun.com/baoolong</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; baoolong]]></copyright><item><title><![CDATA[C# 应用程序强制获取焦点]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/132358785</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/132358785</guid><author>baoolong</author><pubDate>Fri, 18 Aug 2023 12:14:29 +0800</pubDate><description><![CDATA[Windorm和WPF等应用程序想自己获取焦点焦点那是不可能的，只能通过系统的API来实现，上面第一个函数获取的是当前窗体的句柄， 如果窗体应用要获取自己的句柄的话就使用下面的方法获取]]></description><category></category></item><item><title><![CDATA[WPF CS0234命名空间 *.*中不存在类型或命名空间名“Windows“(是否缺少程序集引用?)]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/128580719</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/128580719</guid><author>baoolong</author><pubDate>Fri, 06 Jan 2023 16:31:54 +0800</pubDate><description><![CDATA[写代码过程中总会复制粘贴，恶心的是，在复制黏贴的过程中还升级了一下VS。等升级完毕，复制粘贴完毕，再运行程序，发现程序起不来了。 报如下错误， 错误数量达到了惊人的1300多个，几乎全是缺少引用集。看看我是什么......]]></description><category></category></item><item><title><![CDATA[Java正则Mac地址添加冒号:]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/128418180</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/128418180</guid><author>baoolong</author><pubDate>Fri, 23 Dec 2022 12:08:25 +0800</pubDate><description><![CDATA[Java正则Mac地址添加冒号]]></description><category></category></item><item><title><![CDATA[OpenGL ES函数介绍]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/105455244</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/105455244</guid><author>baoolong</author><pubDate>Thu, 15 Dec 2022 14:18:22 +0800</pubDate><description><![CDATA[//请求openGL ES 为图形处理器控制的缓存生成一个独一无二的标识符。
glGenBuffers 
//告诉openGL ES 告诉openGL ES为接下来的运算使用一个缓存。
glBindBuffer 
//让OpenGL ES 为当前绑定的缓存分配并初始化足够的连续内存（通常是从CPU控制的内存复制数据到分配的内存）。
glBufferData或者glBufferSubData 
/...]]></description><category></category></item><item><title><![CDATA[WPF TreeView拖动排序拖拽排列]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/128302036</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/128302036</guid><author>baoolong</author><pubDate>Wed, 14 Dec 2022 14:26:02 +0800</pubDate><description><![CDATA[最近工作中要用Treeview进行拖动排序，但是呢，网上几乎没有相关的Demo示例等，只能自己手撸，在这过程中，也学到了一些知识，我在此记录下，防止下次用到，或者需要的小伙伴用到。
本文代码实现简单，扩展性强，Demo示例总共也就267行，代码还包含了数据初始化，View控件初始化等非逻辑代码，代码简单以维护。]]></description><category></category></item><item><title><![CDATA[C# Windows多串口绑定]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/127390812</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/127390812</guid><author>baoolong</author><pubDate>Tue, 15 Nov 2022 09:06:10 +0800</pubDate><description><![CDATA[有时工作测试中遇到要一拖多去进行串口通讯，例如多串口同时进行烧录，多串口对设备进行控制，指令发送等，平时我用的串口工具都是人为的一对一手动操作，用电脑同时一对多操作串口通讯我还真没用过，但是想到平时工作使用的场景蛮多的，感觉还是很有必要研究下，对工作生产还是很有效率的]]></description><category></category></item><item><title><![CDATA[Android Studio2022年10月更新Logcat配置过滤]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/127572422</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/127572422</guid><author>baoolong</author><pubDate>Fri, 28 Oct 2022 15:35:04 +0800</pubDate><description><![CDATA[主要针对Android Studio2022年10月更新后Logcat变化进行日志配置过滤]]></description><category></category></item><item><title><![CDATA[WPF 图片头像自由剪切器实时截图细节放大器]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/126747435</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/126747435</guid><author>baoolong</author><pubDate>Wed, 21 Sep 2022 12:42:04 +0800</pubDate><description><![CDATA[在网上找了好久都找不到合适的截图框架，结果都不能满足我的需求，所以在大佬的基础上进行改进，开源实现图片头像自由剪切，实时截图，细节放大等功能
代码不是完整的，因为大多数代码属于公司的，我只能贡献我从开源项目那学到的，这也算是学习人家的开源精神]]></description><category></category></item><item><title><![CDATA[WPF 查找Style样式文件里面的控件组件]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/126643380</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/126643380</guid><author>baoolong</author><pubDate>Thu, 01 Sep 2022 15:09:20 +0800</pubDate><description><![CDATA[平时我们都是找布局文件里面的控件，但是有时候也会在Style样式里写布局，并在代码里更新控件，这时候我们不能直接拿到控件，本文帮助你拿到Style里面的控件]]></description><category></category></item><item><title><![CDATA[WPF代码动态引用Style资源]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/126196621</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/126196621</guid><author>baoolong</author><pubDate>Sat, 06 Aug 2022 16:19:55 +0800</pubDate><description><![CDATA[展示了WPF代码动态引用Style资源的2种方法]]></description><category></category></item><item><title><![CDATA[C#摄像头拍照及帧预览]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/125170520</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/125170520</guid><author>baoolong</author><pubDate>Wed, 08 Jun 2022 10:11:28 +0800</pubDate><description><![CDATA[文章对C#调用摄像头进行心得记录，思路清晰，值得学习，让你看了就会用]]></description><category></category></item><item><title><![CDATA[安卓自定义控件_方向控制面板]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/125083266</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/125083266</guid><author>baoolong</author><pubDate>Tue, 07 Jun 2022 15:57:57 +0800</pubDate><description><![CDATA[Android方向控制面板，左边的是按下时的效果, 没有按键时，颜色和右边的颜色是一致的，按键灵敏，使用简单]]></description><category></category></item><item><title><![CDATA[Android WIFI不扫描，拿不到扫描结果]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/124314677</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/124314677</guid><author>baoolong</author><pubDate>Thu, 21 Apr 2022 10:13:27 +0800</pubDate><description><![CDATA[Android WIFI不扫描，也拿不到扫描结果，代码也没啥问题；

如果你权限也配了，也动态申请了权限，也不会报错，就是不扫描，我想你和我犯了同过一个错误，那就是没有开GPS定位

下面的代码可以帮您判断GPS是否打开


if(!isGPSOpen(this)) {
	Toast.makeText(this, "没有打开GPS，扫描不到WIFI，5秒后退出", Toast.LENGTH_SHORT).show();
	excite();
}


/**
 * 判断GPS是否开启，GPS或者AGPS开启一]]></description><category></category></item><item><title><![CDATA[Tesseract训练新字体]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/122231259</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/122231259</guid><author>baoolong</author><pubDate>Thu, 30 Dec 2021 16:35:11 +0800</pubDate><description><![CDATA[最近工作需要，要对特定字体准确识别，用官方下载的eng识别库，错误率比较高，不能满足要求，所以就踏上了训练字库的征程，我说下我寻找的几种训练方法

注意： Tesseract-OCR 和 Tesseract 不是同一个东西

1. Tesseract-OCR手动训练，需要自己生成或收集样本图片，然后用jTessBoxEditor手动纠正识别错误的地方，然后敲命令生成各种文件，总体来说太慢太麻烦，容易出错，效果不佳

2. 仍然是Tesseract-OCR训练，这次智能化一点了，采用LSTM技术，可以自动训练]]></description><category></category></item><item><title><![CDATA[C# USB设备监听与信息查询]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/121806087</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/121806087</guid><author>baoolong</author><pubDate>Thu, 09 Dec 2021 09:52:56 +0800</pubDate><description><![CDATA[USB设备插拔监听

需要重写WndProc方法，该方法可以监听系统的一些事件，我试了一下，插拔U盘有响应，但是插拔USB麦克风只会触发设备节点改变的方法


//事件代码
        private const int WM_DEVICECHANGE = 0x219; //设备改变
        private const int DBT_DEVICEARRIVAL = 0x8000; //检测到新设备
        private const int DBT_DEVICEREMOVECOMPLE]]></description><category></category></item><item><title><![CDATA[MAC地址生成器（可带跳数）]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/121788307</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/121788307</guid><author>baoolong</author><pubDate>Wed, 08 Dec 2021 12:25:56 +0800</pubDate><description><![CDATA[效率好，10万个只需要15毫秒左右，支持跳数生成

可用该方法生成34进制，26进制等数


跳数为0时为顺序生成，
跳数为1时，则跳过一个再生成，如frontMac为00：00：00：00：00：01 ，skipNum = 1，则生成的mac为00：00：00：00：00：03


    /**
     * 自行去掉日志打印会更快
     * @param startMac 开始的mac
     * @param skipNum 跳数
     * @param howMany 生成多少个
   ]]></description><category></category></item><item><title><![CDATA[随机密码生成器]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/121786903</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/121786903</guid><author>baoolong</author><pubDate>Wed, 08 Dec 2021 11:20:20 +0800</pubDate><description><![CDATA[密码生成器，可选择密码长度，密码包含的字符，特殊字符，可排除字符等

生成效率高，生成后黏贴就能用（生成后直接回复制到剪贴板）


    /**
     * 密码生成器，如果选择包含某种类型字符，则至少含有一个该类型的字符，如选择含有大写字母，则至少含有一个大写字母
     * @param excludeLetters 需要排除的字符， 包含大写 小写 数字 和特殊字符
     * @param containNums 是否包含数字
     * @param containUpperCase..]]></description><category></category></item><item><title><![CDATA[Java C#分析WAV音频文件1Khz是否有声音]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/121552354</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/121552354</guid><author>baoolong</author><pubDate>Fri, 26 Nov 2021 09:29:47 +0800</pubDate><description><![CDATA[本文是用Java写的，C#原理一样并已经验证

最近工作需要检测设备的是否有音频输出，找了很多资料，但是关于1Khz的验证并没有多少，所以我就自己查WAV的文件格式，并手撸了代码，来检测是否1Khz有声音，也可以检测WAV是否有声音

首先，我们需要将WAV文件读出来并将它的头文件分析，关于头文件的网上有很多文章，但是都不是很全面，头文件总会多一些或少一些无关紧要的信息，导致分析出错，下面是我读取头文件的代码（get 和 set方法自行补全）


  
  public void readAudio...]]></description><category></category></item><item><title><![CDATA[反编译styleable的问题]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/120503843</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/120503843</guid><author>baoolong</author><pubDate>Mon, 27 Sep 2021 10:49:32 +0800</pubDate><description><![CDATA[源码：

attrs.xml


&lt;declare-styleable name="MultiPaneChallengeLayout_Layout"&gt;
      &lt;attr name="layout_centerWithinArea" format="float" /&gt;
&lt;attr name="layout_maxWidth" format="dimension" /&gt;
        &lt;attr name="layout_maxHeight" /&gt;
&lt]]></description><category></category></item><item><title><![CDATA[Android 用ADB和Activity交互通讯]]></title><link>https://blog.youkuaiyun.com/baoolong/article/details/120181626</link><guid>https://blog.youkuaiyun.com/baoolong/article/details/120181626</guid><author>baoolong</author><pubDate>Wed, 08 Sep 2021 15:58:32 +0800</pubDate><description><![CDATA[在我今天看到别人的代码前，我都不知道原来Android还能这么干，用ADB去发送命令让程序执行，这对测试 或 自动化集群操作来说再好不过了，简单易上手，轻松让ADB和Activity之间能发送信息来交互和通讯。

首先需要介绍一个Activity自带的方法 dump，我们要实现此功能需要重写这个方法


    @Override
    public void dump(@NonNull String prefix, @Nullable FileDescriptor fd, @NonNull Print.]]></description><category></category></item></channel></rss>