ultraiso虚拟光驱总是删除不干净

用regedit查找ultraiso,找到PropertyStore结点下有个结点中含有

Users\euhat\AppData\Local\Temp\UltraISO\UltraISO.exe

在资源管理器中找到相应目录,发现如下文件删不掉。

C:\Users\euhat\AppData\Local\Temp\UltraISO\drivers\ISODrv64.sys

则,再次运行ultraiso程序,选项->配置->虚拟光驱->设备数量设为0,保存。退出ultraiso程序。
再regedit查找ultraiso,找到

1
计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ISODrive

删除此键,退出regedit,重启电脑就能看到在资源管理器里,烦人的虚拟光驱盘符去掉了。

记得上面提到的ISODrv64.sys现在可以删掉。

本地网卡和WIFI网卡共存不能上网

原因是路由都走本地网卡了,这点可以用tracert命令证明。

于是,用以下三条命令可实现上网:

1
2
3
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 192.168.43.1
route add 192.168.0.0 mask 255.255.0.0 192.168.1.1

其中192.168.43.1是WIFI网关,192.168.1.1是本地网关。

MessageDialogFragmentV4 can't find android.support.v4.app

编译UVCCamera生成signed apk时,报一堆这样的错:

1
2
3
Warning:com.serenegiant.dialog.MessageDialogFragmentV4: can't find referenced method 'void show(android.support.v4.app.FragmentManager,java.lang.String)' in program class com.serenegiant.dialog.MessageDialogFragmentV4
Warning:com.serenegiant.dialog.MessageDialogFragmentV4: can't find referenced method 'void setTargetFragment(android.support.v4.app.Fragment,int)' in program class com.serenegiant.dialog.MessageDialogFragmentV4
com.serenegiant.dialog.MessageDialogFragmentV4: can't find referenced class android.support.v4.app.Fragment

解决办法,把libuvccamera和usbCameraCommon目录中的build.gradle修改一下,注释掉'support-v4':

1
2
3
compile("com.serenegiant:common:${commonLibVersion}") {
//	exclude module: 'support-v4'
}

Linux禁止用户访问某个目录

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

1
chmod o-rwx dir0

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

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

wsa__FaultSubcodeValues

编译gSoap生成的源码报找不到wsa__FaultSubcodeValues定义的错误。

解决方法:

在wsdl2h生成的.h文件中加入

1
#import "wsa.h"

再用soapcpp2生成源码。

sqlite将查询结果导出到文件

1
2
3
4
.separator "\t"
.output a.txt
SELECT name,?id FROM student;
.output stdout

这样就可把生成的a.txt导入到excel里了。

注意,sqlite导出的文本是unix格式,直接记事本打开看不到换行。