• 挂起和恢复进程

    ·

    发布于

    修改于

    BOOL suspend_or_resume_process_thread(DWORD pid, BOOL suspend) {
    	BOOL r = FALSE;
    	HANDLE snapshot;
    	THREADENTRY32 thread_entry;
    	HANDLE thread;
    	snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
    	thread_entry.dwSize = sizeof(thread_entry);
    	if (Thread32First(snapshot, &thread_entry) == FALSE) {
    		CloseHandle(snapshot);
    		return FALSE;
    	}
    	do {
    		if (thread_entry.th32OwnerProcessID != pid)
    			continue;
    		thread =
    			OpenThread(THREAD_SUSPEND_RESUME, FALSE, thread_entry.th32ThreadID);
    		if (thread == NULL)
    			continue;
    		if (suspend)
    			SuspendThread(thread);
    		else
    			ResumeThread(thread);
    		CloseHandle(thread);
    	} while (Thread32Next(snapshot, &thread_entry));
    	CloseHandle(snapshot);
    	return r;
    }

  • linux string.c

    ·

    发布于

    修改于

    (更多…)


  • ffmpeg转码命令

    ·

    发布于

    修改于

    ffmpeg.exe -i src.mp4 -c:v hevc_nvenc -b:v 5000k dst.mp4

    hevc_nvenc是使用GPU加速HEVC的编码器。5000k是输出文件的码率。


  • 处理带有环境变量的路径

    ·

    发布于

    修改于

    三个相关函数

    • ExpandEnvironmentStrings

    按照当前用户的环境变量展开路径中的环境变量(将路劲中的环境变量展开成标准路径)。

    • ExpandEnvironmentStringsForUser

    按照指定用户的环境变量展开路径中的环境变量。

    • PathUnExpandEnvStrings

    与上面两个函数的功能相反,是将路径中的某些部分替换成环境变量。

    ExpandEnvironmentStrings的例子

    #include <iostream>
    #include <Windows.h>
    
    int main()
    {
        DWORD cch;
        char output[MAX_PATH];
    
        cch = ExpandEnvironmentStringsA("%SystemRoot%\\system32\\shell32.dll", output, MAX_PATH);
        std::cout << output << std::endl << "ouput TCHARS:" << cch << std::endl;
        //当输入字符串不包含环境变量,就直接拷贝字符串到输出缓冲区,返回值为输出字符数,和上面的情况相同
        cch = ExpandEnvironmentStringsA("C:\\WINDOWS\\SYSTEM32\\shell32.dll", output, MAX_PATH);
        std::cout << output << std::endl << "ouput TCHARS:" << cch << std::endl;
    
        return 0;
    }

    运行后如下图


  • 接下来要看的影视剧

    ·

    发布于

    修改于

    一部分是以前没看过的,还有一部分是想再看一遍的。

    1. 芳华
    2. 红海行动
    3. 无问西东
    4. 归来
    5. 暴雪将至
    6. 引爆者
    7. 我不是药神
    8. 黄河绝恋
    9. 紫日
    10. 建军大业
    11. 唐山大地震
    12. 太平轮
    13. 大轰炸
    14. 港囧
    15. 我不是潘金莲
    16. 大浪淘沙
    17. 东进序曲
    18. 青年马克思
    19. 无法避免的战争
    20. 三个老枪手
    21. 斯诺登风暴
    22. 爱国者
    23. 美国狙击手
    24. 比例·林恩的中场战事
    25. 血战钢锯岭
    26. 血色将至
    27. 全金属外壳
    28. 敦刻尔克
    29. 圣诞快乐
    30. 隐剑鬼爪
    31. 我最好朋友的婚礼
    32. 灵与肉
    33. 南北战争
    34. 阳早与寒春的故事
    35. 汤姆叔叔的小屋
    36. 绿皮书
    37. 乱世佳人
    38. 日落大道
    39. 血战台儿庄
    40. 捍卫者
    41. 上甘岭
    42. 奇袭
    43. 英雄儿女
    44. 铁道卫士
    45. 绝不撤退
    46. 冰血长津湖
    47. 满洲候选人
    48. 决战中途岛
    49. 我是古巴
    50. 日瓦格医生
    51. 绝杀慕尼黑
    52. 切尔诺贝利
    53. 伏罗希洛夫射手
    54. 一纸婚约
    55. 南方车站的聚会
    56. 婚姻故事
    57. 小妇人
    58. 美国工厂
    59. 古田军号
    60. 决胜时刻
    61. 周恩来回延安
    62. 烈火英雄
    63. 地久天长
    64. 音乐家
    65. 霓虹灯下的哨兵
    66. 达拉斯买家俱乐部
    67. 您一定不要错过
    68. 只有芸知道
    69. 囧妈
    70. 少年的你
    71. 第五共和国
    72. 野鹅敢死队
    73. 卡桑德拉大桥
    74. 他们已不在变老
    75. 祈祷落幕时
    76. 罪人
    77. 楚门的世界


  • 充分体现文化特点

    ·

    发布于

    修改于

    日本选手伊藤美诚

  • 《民法典》是如何看待人的

    ·

    发布于

    修改于

    我们的民法典首先是把人定位为推动实现自身自由和全面发展的主体,然后人才是实现一个国家、一个民族所追求的另外的发展目标的主体。


  • 带读写锁的list和map

    ·

    发布于

    修改于

    #pragma once
    #include <boost/thread.hpp>
    #include <list>
    #include <map>
    
    template <typename T>
    class shared_list : public std::list<T>, public boost::shared_mutex {};
    
    template <typename T1, typename T2>
    class shared_map : public std::map<T1, T2>, public boost::shared_mutex {};

  • 第一次安装使用CPU自带的散热器

    ·

    发布于

    修改于

    AMD自带的散热器
    这玩意还有灯

最新