custom widget in qt

TstUsrCtrl.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
 
#include <qwidget>
 
class TstUsrCtrl : public QWidget
{
	Q_OBJECT
 
	QPoint oldPos_;
	QPoint curPos_;
 
public:
	explicit TstUsrCtrl(QWidget *parent = nullptr);
	~TstUsrCtrl();
 
	void paintEvent(QPaintEvent* event);
	void mousePressEvent(QMouseEvent* event);
	void mouseMoveEvent(QMouseEvent* event);
	void mouseReleaseEvent(QMouseEvent* event);
	void mouseToPosition(QMouseEvent* event);
};
</qwidget>

Read more

成为上帝玩转Chrome禁止图片显示

比如禁止微信公众号里的文章显示图片,经F12分析,图片来源为包含两种字符串的网址:

1
2
mmbiz.qpic.cn/mmbiz
mmbiz.qlogo.cn/mmbiz

把这两个字符串分两条规则加到BlockSitePlugin插件的strFrom里,strTo都置空,再在Chrome设置中的历史记录里,清空图片缓存,这点很重要。

之后刷新微信公众号文章,图片就没有了。

再比如禁止今日头条网页版顶部动画,在BlockSitePlugin插件的strFrom里输入

1
lf3-static.bytednsdoc.com/obj/eden-cn/upqlnvhj

strTo置空,加入此规则,并清空所有历史记录,由于这个动画是mp4,要重启Chrome,之后才能看到动画消失。

refer to:
成为上帝玩转Chrome之指定阻止访问的网站

自定义printf输出格式

glibc版,代码可参考

1
2
3
//libstrongswan/utils/printf_hook/printf_hook_glibc.c
register_printf_specifier
register_printf_function

要注意的是,由于gcc在编译时不认识自定义格式,默认会提示warning。
禁止此提示的方法是在gcc命令参数中加入

1
-Wno-format

vstr from http://www.and.org/vstr/
代码可参考

1
2
//libstrongswan/utils/printf_hook/printf_hook_vstr.c
vstr_fmt_add

在win32下,libstrongswan自已写了一个printf,代码在位置在

1
2
//libstrongswan/utils/printf_hook/printf_hook_builtin.c
builtin_vsnprintf

odp禁止ipsec

1
2
3
4
5
6
7
8
9
10
11
12
13
	odp_init_t init_param;
 
	odp_init_param_init(&init_param);
	init_param.not_used.feat.ipsec = 1;
	init_param.not_used.feat.crypto = 1;
	init_param.not_used.feat.compress = 1;
	init_param.not_used.feat.tm = 1;
 
	if (0 != odp_init_global(&instance, &init_param, NULL))
	{
		DBG(("init odp global failed.\n"));
		return 0;
	}

VC编译程序时忽略link警告

比如在链接时会出现一大堆warning LNK4099,在代码中写

1
#pragma warning(disable:4099)

是无法禁止这些警告的,正确方法是在项目属性Properties->Linker->Command Line中添加

1
/ignore:4099

禁止RestartByRestartManager

有时候很烦人,程序跑着跑着就重启了,这并不是因为程序崩了,而是在新版的visual studio中对MFC程序默认增加了一个功能:程序自动重启。要禁用它,只须在程序最开始继承自CWinApp的类的构造函数中将下面一句话注释掉:

1
2
	// support Restart Manager
	//m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART;

Linux禁止用户访问某个目录

比如root用户生成了一个文件夹dir0,再执行

1
chmod o-rwx dir0

那么当非root权限用户usr0访问此目录

1
2
cd dir0/
bash: cd: dir0/: Permission denied