<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mccoy39082的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mccoy39082</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mccoy39082]]></copyright><item><title><![CDATA[.NET下支持多框架的托盘功能NotifyIconEx（WPF / WinForms / Avalonia / WinUI / MAUI / Wice）]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/140607496</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/140607496</guid><author>mccoy39082</author><pubDate>Mon, 22 Jul 2024 13:40:29 +0800</pubDate><description><![CDATA[支持 WPF / WinForms / Avalonia / WinUI / MAUI / Wice 应用。可用于 .NET 5.0 以及 .NET Framework 4.6.2。]]></description><category></category></item><item><title><![CDATA[[C#] 重难点区分[In]、[Out]、in、out、in T、out T]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/136365110</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/136365110</guid><author>mccoy39082</author><pubDate>Thu, 29 Feb 2024 10:55:44 +0800</pubDate><description><![CDATA[重难点区分[In]、[Out]、in、out、in T、out T]]></description><category></category></item><item><title><![CDATA[WPF的ItemsControl自动绑定序号]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/134659200</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/134659200</guid><author>mccoy39082</author><pubDate>Tue, 28 Nov 2023 16:00:19 +0800</pubDate><description><![CDATA[【代码】WPF的ItemsControl自动绑定序号。]]></description><category></category></item><item><title><![CDATA[Linux下加速Github访问 （CentOS 8）]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/120980467</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/120980467</guid><author>mccoy39082</author><pubDate>Tue, 26 Oct 2021 21:23:05 +0800</pubDate><description><![CDATA[这里用系统为CentOS 8 使用fastgithub加速示例。


]]></description><category></category></item><item><title><![CDATA[【WPF】AsyncCommand的实现]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/120858306</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/120858306</guid><author>mccoy39082</author><pubDate>Wed, 20 Oct 2021 02:39:33 +0800</pubDate><description><![CDATA[1. AsyncCommand和AsyncCommand&lt;TResult&gt;类：


public static class AsyncCommand
{
    public static AsyncCommand&lt;object&gt; Create(Func&lt;Task&gt; command)
    {
        return new AsyncCommand&lt;object&gt;(async _ =&gt; { await command(); return nul]]></description><category></category></item><item><title><![CDATA[【C#】.NET Core里读取appsettings.json方法]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/120116231</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/120116231</guid><author>mccoy39082</author><pubDate>Sun, 05 Sep 2021 15:57:28 +0800</pubDate><description><![CDATA[JSON文件：


{
	"ConnctionStrings" : {
		"Customers" : "Data Source xxx; User ID=a; Password=b;",
	}
}

C#文件：


public class ConfigManager
{
	static  ConfigManager
	{
		var builder = new ConfigurationBuilder()
			.SetBasePath(Directory.GetCurrentDirectory())
]]></description><category></category></item><item><title><![CDATA[【C#】3个栗子完成BeginInvoke/EndInvoke/AsyncResult/AsyncCallback理解]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/120114959</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/120114959</guid><author>mccoy39082</author><pubDate>Sun, 05 Sep 2021 14:57:37 +0800</pubDate><description><![CDATA[1）同步方案：利用EndInvoke进行阻塞获得返回值：


int DDSync()
{
    Logger.Debug("1-sync");
    System.Threading.Thread.Sleep(9999);
    Logger.Debug("2-sync");
    return 11;
}

Func&lt;int&gt; action = DDSync;
IAsyncResult asyncResult = action.BeginInvoke(null, null);
int]]></description><category></category></item><item><title><![CDATA[【C#】两种最常用的Task阻塞方式（async/await和Result/Wait）]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/113348620</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/113348620</guid><author>mccoy39082</author><pubDate>Tue, 31 Aug 2021 13:51:24 +0800</pubDate><description><![CDATA[async void DDAsync()
      {
        Logger.Debug("1-async");
        Task&lt;bool&gt; task = Task.Run(() =&gt;
        {
          Logger.Debug("2-async");
          System.Threading.Thread.Sl...]]></description><category></category></item><item><title><![CDATA[C#版winuser.h定义]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/115434736</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/115434736</guid><author>mccoy39082</author><pubDate>Sun, 04 Apr 2021 22:39:10 +0800</pubDate><description><![CDATA[public class Winuser
{
	/*
	 * Scroll Bar Constants
	 */
	public const int SB_HORZ = 0;
	public const int SB_VERT = 1;
	public const int SB_CTL = 2;
	public const int SB_BOTH = 3;

	/*
	 * Scroll Bar Commands
	 */
	public const int SB_LINEUP = 0;
	public .]]></description><category></category></item><item><title><![CDATA[古典密码学]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/102881618</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/102881618</guid><author>mccoy39082</author><pubDate>Sun, 03 Nov 2019 13:24:02 +0800</pubDate><description><![CDATA[算法1：波利比奥斯棋盘（Polybius Checkerboard）



算法2：凯撒加密(Caesar cipher)








]]></description><category></category></item><item><title><![CDATA[【C++】强制转换关键字const_cast/static_cast/dynamic_cast/reinterpret_cast的区别]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/99304160</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/99304160</guid><author>mccoy39082</author><pubDate>Mon, 12 Aug 2019 15:25:45 +0800</pubDate><description><![CDATA[C++继承了C中的隐式和显式转换的方式。但这种转换并不是安全和严格的，

加上C++本身对象模型的复杂性，C++增加了四个显示转换的关键字。（C++是强类型语言）

经过编码测试，小结如下：

①const_cast：仅用于去掉完全同类型的const,volatile约束，不能含有任何其它类型的转换，若不含约束也可以相当于没转换。
②static_cast：使用类型可在继承的方向上向上或向下转换，...]]></description><category></category></item><item><title><![CDATA[【Qt5】QTemporaryDir创建临时文件夹官方示例]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/98596378</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/98596378</guid><author>mccoy39082</author><pubDate>Tue, 06 Aug 2019 11:00:40 +0800</pubDate><description><![CDATA[temporarydirectory.h


#pragma once

#include "utils_global.h"

#include &lt;QTemporaryDir&gt;

namespace Utils {

class QTCREATOR_UTILS_EXPORT TemporaryDirectory : public QTemporaryDir
{
public:
   ...]]></description><category></category></item><item><title><![CDATA[python抓取5sing上的歌曲]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/84260972</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/84260972</guid><author>mccoy39082</author><pubDate>Mon, 19 Nov 2018 21:57:31 +0800</pubDate><description><![CDATA[以 http://5sing.kugou.com/inory/fc/1.html 为例


#coding:utf-8
from bs4 import BeautifulSoup
import requests
import os
from selenium import webdriver
from selenium.webdriver.common.action_chains import A...]]></description><category></category></item><item><title><![CDATA[Qt在Windows下把文件送到回收站]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/83929994</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/83929994</guid><author>mccoy39082</author><pubDate>Sat, 10 Nov 2018 15:38:50 +0800</pubDate><description><![CDATA[ 废话不多说，直接上函数。


#include &amp;lt;Windows.h&amp;gt;

bool Common::recycleFile(const QString &amp;amp;a_filename)
{
    bool ret = true;
    SHFILEOPSTRUCT opRecycle;

    opRecycle.hwnd              = nullptr;
   ...]]></description><category></category></item><item><title><![CDATA[VS2017编译log4cpp 64bit]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/82924400</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/82924400</guid><author>mccoy39082</author><pubDate>Tue, 02 Oct 2018 10:12:57 +0800</pubDate><description><![CDATA[参考：https://blog.youkuaiyun.com/Wite_Chen/article/details/79078663

源码下载：https://sourceforge.net/projects/log4cpp/files/

1、打开工程log4cpp\msvc10\msvc10.sln，全部升级。

2、如图打开配置增加一行HAVE_SNPRINTF。



 3、修改目标编译平台 rele...]]></description><category></category></item><item><title><![CDATA[QtAV SDK下载(方便各位Developer)]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/82821621</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/82821621</guid><author>mccoy39082</author><pubDate>Sun, 23 Sep 2018 13:29:24 +0800</pubDate><description><![CDATA[ 



Github：https://github.com/emako/QtAV/releases

后续QtAV或FFmpeg更新会重新编译新版本。]]></description><category></category></item><item><title><![CDATA[QtAV编译配置和入门使用(Qt5.11.1+VS2017)]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/82818716</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/82818716</guid><author>mccoy39082</author><pubDate>Sun, 23 Sep 2018 00:08:45 +0800</pubDate><description><![CDATA[参考文档：https://github.com/wang-bin/QtAV/wiki/Build-QtAV

为Qt的音视频开发储备

一、编译准备

QtAV发行（为了后续编译需要的头文件）：https://sourceforge.net/projects/qtav/

QtAV源码：https://github.com/wang-bin/QtAV

FFmpeg Dev（ffmpeg-4.0....]]></description><category></category></item><item><title><![CDATA[Qt5之qmake配置：自动复制依赖库]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/82501665</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/82501665</guid><author>mccoy39082</author><pubDate>Fri, 07 Sep 2018 19:40:49 +0800</pubDate><description><![CDATA[ 新建项目后复制下面到pro文件最下方即可使用。

方便地自动复制依赖库（需要翻译文件的修改一下调用命令那里即可）


PROJECT_DIRECTORY = $$PWD
COMMON_DIRECTORY = $$PWD

CONFIG(debug, debug|release) {

    contains(QMAKE_COMPILER, gcc) {
        if($$ARCHITE...]]></description><category></category></item><item><title><![CDATA[Qt之判断版本号宏「QT_VERSION」和「QT_VERSION_CHECK」]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/82177533</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/82177533</guid><author>mccoy39082</author><pubDate>Wed, 29 Aug 2018 08:54:29 +0800</pubDate><description><![CDATA[栗子：



void QUIWidget::setCode()
{
#if (QT_VERSION &amp;lt;= QT_VERSION_CHECK(5,0,0))
#if _MSC_VER
    QTextCodec *codec = QTextCodec::codecForName(&quot;gbk&quot;);
#else
    QTextCodec *codec = QTextCodec::codecF...]]></description><category></category></item><item><title><![CDATA[Qt中使用fontawesome图标字体]]></title><link>https://blog.youkuaiyun.com/mccoy39082/article/details/82050803</link><guid>https://blog.youkuaiyun.com/mccoy39082/article/details/82050803</guid><author>mccoy39082</author><pubDate>Sat, 25 Aug 2018 13:52:07 +0800</pubDate><description><![CDATA[fontawesome的用处简单来说就是用字体实现图标。

 

fontawesome官网：http://fontawesome.dashgame.com/ 

fontawesome pro 收费版 官网：​​​​​​https://fontawesome.com/


int fontId = QFontDatabase::addApplicationFont(&quot;:/fonts/fontaw...]]></description><category></category></item></channel></rss>