10种HTML禁止鼠标右键方法,你知道几种?
出于某种原因,我们不想让别人复制粘贴或者审核元素查看我们的代码格式,总会用到各种各样的禁用鼠标右键代码及方法。那么,你知道几种呢? 第一种:直接让右键失效在body标签中添加以下代码即可 1oncontextmenu=self.event.returnValue=false 完整代码如下: 1<body oncontextmenu=self.event.returnValue=false> 第二种:让鼠标右键失效,但同时不能用鼠标选取页面上的内容跟上面第一种差不多,同时“编辑->全选”也没有作用。代码如下: 1<body oncontextmenu="return false" onselectstart="return false" ondragstart="return false" onbeforecopy="return false" oncopy=document.selection.empty()...
DirectShow操作摄像头和虚拟摄像头
DShow简介 DirectShow(简称 DShow) 是一个 Windows 平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能。支持使用 WDM 驱动或早期的 VFW 驱动来进行多媒体流的采集。横跨WINXP,WIN7,WIN8,WIN10,适配性好,稳定性高。DirectShow位于应用层中。它使用一种叫Filter Graph的模型来管理整个数据流的处理过程;参与数据处理的各个功能模块叫Filter;各个Filter 在Filter Graph中按一定的顺序连接成一条”流水线”协同工作。( 可以看出TFilterGraph是个Filter的容器 )按照功能来分,Filter大致分为三类:Source Filters、Transform Filters和Rendering Filters。 Source Filters主要负责取得数据,数据源可以是文件、因特网、或者计算机里的采集卡、数字摄像机等; Transform Fitlers主要负责数据的格式转换、传输; Rendering...
如何让你的EXE/DLL足够小
为了节省大量用户下载占用的带宽,又不便使用 P2P 技术,需要做一个尽量小的独立 EXE,这里是对如何让一个简单的 EXE 体积尽量小的部分方法与每一步的实际效果。 初始 DEMO用 VC++ 生成一个最简单的 Win32 Console Application,调用少量简单的 CRT 函数,因为要独立 EXE,所以使用 /MT,示例代码部分如下,然后 Release 编译看看体积。 1234567891011#include "stdafx.h"#include <string.h>int _tmain(int argc, _TCHAR* argv[]){ const char* pStr = "hello, world"; char szArray[64] = {0}; strcpy(szArray, pStr); return 0;} 现在大小是 40960 字节。 打开最小体积优化开关Project - Property - C/C++ -...
Python如何给列表中的每个元素加双引号
如何给Python列表中的每个元素加双引号?
Python判断一个字符串中是否存在多个子串中的一个
在使用python的开发过程中,常常需要判断,字符串中是否存在子串的问题,但判断一个字符串中是否存在多个字串中的一个时,如if (a or b) in c或者if x contains a|b|c|d…,似乎就需要借助for做循环判断,那么这种情况有没有更pythonic的方法呢? 判断一个字符串中是否存在某一个子串判断一个字符串中是否存在子串通常使用in关键词,如下: 123456789>>> a = "I Love Crystal!And I Hate Tom!">>> b = "Crystal">>> c = "Tom">>> d = "Jessie">>> print(b in a)True>>> print(d in a)False>>> in关键词可以用来判断一个字符串中是否含有一个子串,如"Crystal"在"I Love...
如何减小EXE、DLL文件的大小
本文介绍如何减小EXE、DLL文件的大小
C语言可变参数编程
在使用变长参数的函数(这里假设是func)实现部分其实用到了stdarg.h里面的多个宏来访问那些不确定的参数...
编写简单的C运行库(三)
在编写简单的C运行库(二)中主要实现了对有关文件操作函数的实现,接下来主要实现有关字符串的函数,如itoa,strcmp,strcpy,strlen函数,这些函数并没有用到系统调用,所以也就不用向实现文件操作的函数那样使用内嵌汇编,这些函数的定义都放在string.h中。实现了字符串函数之后,就大概实现了一个小型的c运行库,虽然很简略,但对于理解c库函数运行原理、所用的关键技术有了比较深刻的认识。最后用这个小的c运行库来编译运行一个简单的测试程序,用以测试我们的库能否正常的工作。 字符串函数 字符串函数中主要是实现itoa函数有点难度,其它的都还比较的简单,所以这里主要讲下itoa函数的实现。 12345678910111213141516171819202122232425262728293031323334char *itoa(int n, char *str, int radix){ char digit[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; char *ptr = str,...
编写简单的C运行库(二)
在前面编写简单的C运行库(一)中主要实现了调用main函数前的初始化、获取参数和环境变量、退出程序等工作。接下来我们真正实现c标准库中的一些函数(主要是文件操作、字符串操作函数)。不过我们对这些函数的实现力争简单,对于效率方面考虑的不是很多,因为目的主要还是学习神秘的库是怎么实现的。 文件操作 c中的标准I/O库都是带有缓存的,我们在这里为了实现的简单,将缓存省略了,直接包装了有关文件操作的系统调用。现在我们直接看文件打开的函数: 12345678910111213static int open(const char *pathname, int flags, int mode){ int ret; __asm__ volatile( "int $0x80" :"=a"(ret) :"0"(5),"b"(pathname),"c"(flags),"d"(mode) ); ...
编写简单的C运行库(一)
...