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;
}
-
挂起和恢复进程
-
ffmpeg转码命令
ffmpeg.exe -i src.mp4 -c:v hevc_nvenc -b:v 5000k dst.mp4hevc_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; }运行后如下图

-
接下来要看的影视剧
一部分是以前没看过的,还有一部分是想再看一遍的。
- 芳华
- 红海行动
- 无问西东
- 归来
- 影
- 暴雪将至
- 引爆者
- 我不是药神
- 黄河绝恋
- 紫日
- 建军大业
- 唐山大地震
- 太平轮
- 大轰炸
- 港囧
- 我不是潘金莲
- 大浪淘沙
- 东进序曲
- 青年马克思
- 无法避免的战争
- 三个老枪手
- 斯诺登风暴
- 爱国者
- 美国狙击手
- 比例·林恩的中场战事
- 血战钢锯岭
- 血色将至
- 全金属外壳
- 敦刻尔克
- 圣诞快乐
- 隐剑鬼爪
- 我最好朋友的婚礼
- 灵与肉
- 南北战争
- 阳早与寒春的故事
- 汤姆叔叔的小屋
- 绿皮书
- 乱世佳人
- 日落大道
- 血战台儿庄
- 捍卫者
- 上甘岭
- 奇袭
- 英雄儿女
- 铁道卫士
- 绝不撤退
- 冰血长津湖
- 满洲候选人
- 决战中途岛
- 我是古巴
- 日瓦格医生
- 绝杀慕尼黑
- 切尔诺贝利
- 伏罗希洛夫射手
- 一纸婚约
- 南方车站的聚会
- 婚姻故事
- 小妇人
- 美国工厂
- 古田军号
- 决胜时刻
- 周恩来回延安
- 烈火英雄
- 地久天长
- 音乐家
- 霓虹灯下的哨兵
- 达拉斯买家俱乐部
- 您一定不要错过
- 只有芸知道
- 囧妈
- 少年的你
- 第五共和国
- 野鹅敢死队
- 卡桑德拉大桥
- 他们已不在变老
- 祈祷落幕时
- 罪人
- 楚门的世界
-
带读写锁的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 {};

