随笔分类 - VC++/QT
摘要:void ExpandTreeItems(const CTreeCtrl& tree,HTREEITEM hItem) { AfxMessageBox( tree.GetItemText(hItem));HTREEITEM hChildItem = tree.GetChildItem(hItem); if ( NULL != hChildItem)ExpandTreeItems(tree,hChildItem); HTREEITEM hSib = tree.GetNextSiblingItem(hItem);if (hSib != NULL)ExpandTreeItems(tree,h
阅读全文
摘要:1.什么是Access TokenAccess Token用来标识一个用户,其中包括用户的SID和用户所属组的SID,还包括这个用户和所属用户组的所拥有的权限列表。当用户输入用户名和密码登陆到Windows之后,Windows会创建一个Acess Token,用来标识这个用户。在这个用户下创建的进程都将得到一份这个Access Token的备份。当进程需要访问一个可以加密的对象(如文件,事件等)时,windows利用这个Access Token来跟对象的Security Descriptor进行比较,以确认这个进程是否有权限来访问这个对象。(关于SID和Security Descriptor请
阅读全文
摘要:1,一个session中可以拥有多个winstation,一个winstation必然属于某个session,且无法更换。2,所有winstation的函数,包括OpenWindowStation,CreateWindowStation,EnumWindowStations等等,均仅限于调用Process的primary token的session。3,一个process仅对应一个session,也即其primary token的session。更简单的方法是ProcessIdToSessionId。当然也可以通过查询primary token的方法获得。一个process的thread可以拥
阅读全文
摘要:用法: prog.exe address1:port1 address2:port2程序将从本地端口的port1接收的数据发往 address1:port1, 同时address1:port1发出的数据将转发会原始的发送者。#ifndef __WIN32__#include<time.h>#include<errno.h>#include<fcntl.h>#include<unistd.h>#include<signal.h>#include<sys/types.h>#include<netinet/in.h>
阅读全文
摘要:#include<stdio.h>#include<assert.h>#include<windows.h>#defineLOCK_READ0#defineLOCK_WRITE1classrwlock{public:rwlock();~rwlock();public:voidlock(intdirect);voidunlock(intdirect);voidlock_exclusive(void);voidunlock_exclusive(void);voidwrlock(){lock(LOCK_WRITE);}voidwrunlock(){unlock(L
阅读全文
摘要:HANDLE hToken;TOKEN_PRIVILEGES tkp;OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);tkp.PrivilegeCount=1;tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);AdjustTokenPrivileges(hToken,FALSE,&
阅读全文
摘要:1、对于CJK(多字节编码)的环境(泰文,日文,韩文,中文),CP_ACP与CP_OEMCP没有区别。2、对于非 CJK(单字节编码)的环境这两个代码页不同1)对应的实际代码页不同,例如English-US的环境,ACP对应1252,OEMCP而437。2)一个字节能表示的数值范围是(0-255),对于小于128的编码,437和1252对应的字符是一样的。3)对于大于128的编码,是不一样的,有可能有些OEM字符(大于128的编码)在437中不存在,有些ASCII(大于128的编码)字符在1252中不存在。4)相同的编码,对应的字符有可能不同。5)同理,相同的字符对应的编码有可能不同。3、wi
阅读全文
摘要:void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext );void _wsplitpath( const wchar_t *path, wchar_t *drive, wchar_t *dir, wchar_t *fname, wchar_t *ext );
阅读全文
摘要:list与vector分别通过链表和数组实现,所以list进行删除、插入操作时效率要比vector高出许多,而vector进行随机访问时要比list高,可是当进行顺序添加和顺序遍历时的效率两者的效率又是谁高呢?首先分析一下,对于顺序追加的操作,当vector预先分配的内存不够时,需要重新分配内存并复制对象,会对效率产生负面的影响;而list在每添加一个对象时都必须动态分配,每次动态分配内存都需要消耗系统CPU时间,这也是严重影响list效率的问题,所以list的运行效率反而可能比vector的还要低。而从另外一角度,list每个对象都必须有指向下一个对象的指针,所以每个对象都要比vector多
阅读全文
摘要:编译参数Release/nologo /ML /W3 /GX /O2 "NDEBUG" /D /Fp"Release/Eap.pch" /YX /Fo"Release/" /Fd"Release/" /FD /cRelease(PDB)/nologo /ML /W3 /GX /Zi /O2 "NDEBUG" /D /Fp"Release/Eap.pch" /YX /Fo"Release/" /Fd...
阅读全文
摘要:"Key not valid for use in specified state" 主要是因为用户的密码被修改引起的到C:\Documents and Settings\Administrator\Application Data\Microsoft\VisualStudio\8.0\ServerExplorer\把DefaultView.SEView删掉就可以解决
阅读全文
摘要:!logexts.loge !logexts.logc e *!logexts.logo e v!logexts.logb p !logexts.loge enables logging!logexts.logc e displays all API categories!logexts.logo e v debugger (d), a text file (t), or a verbo...
阅读全文
摘要:修改:winnetstandard.vmxvmmouse.present ="FALSE"svga.forceTraces = "TRUE"一定要启用硬件加速下载符号从windbug中找到文件dbghelp.dll,symsrv.dll替换相应文件
阅读全文
摘要:获得c:\windows\system32下的所有文件的符号symchk /r c:\windows\system32 /s SRV*c:\symbols\*http://msdl.microsoft.com/download/symbols获得c:\windows\system32\secur32.dll 的符号symchk /r c:\windows\system32\secur32.dll ...
阅读全文
摘要:IAS中的数据包(包含到域中认证)IAS模块C:\WINDOWS\System32\svchost.exe -k netsvcsHKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RasMan\PPP\EAP\26
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1/*2Youcangetalocallyvalidlogonsession(anetworklogonsession)byusingSSPI.3Simplyspecifyalternatecrede...
阅读全文
摘要:.extpath 扩展模块搜索路径 .ecxr;kb !analyze -v~ - 列举出当前进程上下文中的所有线程~* - 列举出当前进程上下文中的所有线程的详细信息lm - 列举出所有加载的模块!sym noice/quiet - 代码提示开关.srcpath -设置源码路径k - 显示当前堆栈
阅读全文
摘要:摘要临界区是一种防止多个线程同时执行一个特定代码节的机制,这一主题并没有引起太多关注,因而人们未能对其深刻理解。在需要跟踪代码中的多线程处理的性能时,对 Windows 中临界区的深刻理解非常有用。 本文深入研究临界区的原理,以揭示在查找死锁和确认性能问题过程中的有用信息。它还包含一个便利的实用工具程序,可以显示所有临界区及其当前状态。在我们许多年的编程实践中,对于 Win32® 临界区...
阅读全文
摘要:目的:学习在VC中进行ASM汇编语言程序设计的方法,以提高底层应用能力.由于在VC中进行汇编不需要额外的编译器和联接器,且可以处理VC中不能处理的一些事情,而且可以使用在C中的变量,所以,非常方便.但是它并不支持所有的MASM宏和数据指示符.下面的三种方法基本上都可以使用在VC中:__asm{mov al, 2mov dx, 0xD007out al, dx}__asm mov al, 2__as...
阅读全文
摘要:[代码]Hello World!4198528 4198528 4198528 4198528TTG::m 4198528 TTG::c 4198544mm1:4198400 mm2:4198416该结果要在release下才能正确debug版作了其他的处理,会导致结果不正确。
阅读全文
浙公网安备 33010602011771号