- 博客(47)
- 资源 (7)
- 收藏
- 关注
转载 win32内核程序中进程的pid,handle,eprocess之间相互转换的方法
转载自:http://www.pediy.com/kssd/pediy11/119193.html在win32内核程序开发中,我们常常需要取得某进程的pid或句柄,或者需要检索进程的eprocess结构,很多API函数需要的参数也不同,所以掌握pidhandleeprocess相互转换的方法会大大提高我们的开发效率。以下就是我自己在实际开发中总结出来的转换方法,在此记录下来,以供需要的
2015-04-22 20:33:26
919
转载 stl::string的大小写转换
转载自: http://blog.youkuaiyun.com/yangfenghero/article/details/6011245原文有错误,大小写转换的参数错了。前面进行string开发,需要进行大小写转换,发现STL的string没有提供这些方法。 查找资料,发现STL中还是提供了这类方法,在Algorithm中包含。 Sample Code:
2015-04-21 09:42:45
950
转载 字符串和ASCII码互转
int HexDecode( unsigned char *instr, int inlen, unsigned char *outstr ){int i = 0;int j = 0;while( i{ if( instr[i]>='a' )outstr[j]=instr[i]-0x57;elseoutstr[j]=instr[i]-'0';outstr[
2015-04-17 15:13:03
2091
转载 获取盘符所在的物理磁盘号和分区号
转载的 ,出处忘记了,不好意思#include "stdafx.h"#include #include using namespace std;typedef struct _VOLUME_INFO{TCHAR chFlag;DWORD dwDiskNumber;DWORD dwPartitionNumber;}VOLUME_IN
2015-04-17 14:19:14
2221
原创 随便写的字符串处理代码
INT RTrim(PCHAR Path,INT PathLen){int Index = PathLen-1;while (Index>-1){if (Path[Index] == ' '){Path[Index] = '\0';}else{break;}Index--;}return strlen(Path);}int
2015-04-17 11:03:08
681
原创 将字符串转换为ACSII码打印
#include "stdafx.h"#include #include #include #include #include "log.h"void dump(unsigned char * buff,int len){char szTmp[4] = {0};char szLog[1024] = {0};for (int i=0;i{
2015-04-17 10:50:48
683
转载 获取指定的系统路径 SHGetSpecialFolderPath
转载自:http://www.cnblogs.com/riky/archive/2008/02/09/1066291.html获取指定的系统路径 SHGetSpecialFolderPath1 #include shlobj.h> 2 #pragma comment(lib, "shell32.lib") 3 4 TCHAR
2015-04-17 10:44:45
522
转载 利用7z.exe压缩和解压缩
#include "stdafx.h"#include #include #include #pragma comment(lib, "shell32.lib")//pFilePath 需要压缩的文件路径//pCompressPath 压缩后的文件路径bool Compress(PWCHAR pFilePath, PWCHAR pCompressPath){
2015-04-17 10:26:07
1853
转载 获取当前电脑上打开的端口信息
忘记在哪里看到的了,如果原作者看到,请联系我,我加上出处,不好意思。#include "stdafx.h"#include #include #include #include #pragma comment(lib, "iphlpapi.lib") #pragma comment(lib, "user32.lib"
2015-04-17 10:19:47
829
转载 通过WDK获取网卡原生MAC地址和当前MAC地址。
/* ---------------------------------------------------------- 文件名称:WDK_MacAddress.h 作者:秦建辉 MSN:splashcn@msn.com 版本历史: V1.0 2010年05月23日 完成正式版本。 功能描述:
2015-04-17 10:17:54
1789
转载 获取BIOS的中UUID
不知道是在哪里看到的,自己稍微修改了下,备用。如果原作者看到,请联系我,我注明出处,不好意思。void PrintBiosUuid(){HRESULT hr = S_OK;BSTR bstrNamespace = L"root\\cimv2";BSTR bstrQuery = L"SELECT * FROM Win32_ComputerSystemProduct";VARI
2015-04-17 10:09:51
7625
转载 多字节字符串和宽字节字符串互转
忘了是在哪个网页上找到的,不好意思。自己备用。int AnsiString2UnicodeString(const char* pszAnsiStr, wchar_t* pszUniStr){if (!pszAnsiStr || !pszUniStr){return 0;}int len = MultiByteToWideChar(CP_ACP, 0, pszA
2015-04-17 10:02:18
443
原创 MFC应用程序如何自动退出?
<br />1。强行退出<br /> <br />HANDLE hThread=GetCurrentThread();<br />TerminateThread(hThread,0);<br /> <br />2。安全的退出<br /> <br />用CWnd::PostMessage( UINT message, WPARAM wParam = 0, LPARAM lParam = 0 );<br /><br />自定义一个消息和消息响应函数<br /><br />test。h<br />#define
2010-06-23 14:32:00
1940
转载 (转载)服务应用程序如何访问当前登录用户的信息
<br />转自:http://hi.baidu.com/robinwjbgui/blog/item/7ab0a213b2b2bf866438db10.html<br /> <br />以服务权限,即SYSTEM帐户启动的程序是无法取得用户的profile的,比如startup文件夹的路径。<br /> <br />首先,Shell函数是不行的:<br /><br /><br />SHGetSpecialFolderPath取得的是C:/Windows/system32/config/systemprofi
2010-06-23 14:21:00
867
转载 在windows 7/vista/2008用WinDBG调试时显示KdPrint信息
<br />在注册表<br /> <br />HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager<br /> <br />新建一项Debug Print Filter,<br /> <br />新建一个DWORD值,名称为DEFAULT,(注意:必须全部是大写)<br />值为8。<br /> <br />重启即可。<br /> <br /> <br /> <br /> <br />[HKEY_LOCAL_MACHINE/S
2010-06-10 11:14:00
1981
原创 分割字符串
最近手里的活用到分割字符串,自己尝试写了一个,在网上找到几个,留着以后备用。 char* steps = ";"; char* token; char strUsbInfo[512] = {0}; memcpy(strUsbInfo,"1E;2F;3G;",strlen("1E;2F;3G;")); token = strtok(strUsbInfo,steps); whil
2010-04-20 10:49:00
413
转载 获取线程退出码
获取线程退出码DWORD dwExitCode;GetExitCodeThread( m_pThreadRecv->m_hThread, &dwExitCode );AfxEndThread( dwExitCode, TRUE );AfxEndThread只能在线程体内调用,如果外部结束要保存AfxbeginThread返回的线程指针CWinThread*,然后调用CWinThread类的
2010-04-11 17:58:00
1397
转载 将字符串转换为大写
void uppercase(char *str,char *str2){ char *pos = str; char *pos1 = str2; while(*pos) { if(*pos>=a&&*pos *pos1 = *pos + A-a; else *pos1 = *pos;
2010-04-11 17:58:00
667
转载 宽字节和单字节字符串相互转换
/*************************************************************//// 将 宽字节wchar_t* 转换 单字节char*//*************************************************************//void UnicodeToAnsi( const wchar_t* szStr, c
2010-04-11 17:55:00
583
原创 使用VC 工程中的 string table 里的字符串
使用string table里的字符串CString strTitle;strTitle.LoadString(ID_FRAME_TITLE);pMainFrame->SetTitle((LPSTR)(LPCTSTR)strTitle);
2010-04-11 17:54:00
2724
转载 读取注册表REG_DWORD类型的键值
读取注册表REG_DWORD类型的键值:DWORD dwRet = 0; HKEY hKey; if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SYSTEM//Select",0,KEY_QUERY_VALUE,&hKey)==ERROR_SUCCESS) { DWORD dwValue,dwType; DWORD dwBufLen=255;
2010-04-11 17:53:00
3798
转载 数据类型转换(装载)
wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString....#include // 使用CString必须使用MFC,并且不可包含#define _AFXDLL#include using namespace std;//----------------------------------
2010-04-11 17:44:00
323
转载 如何锁定工作站
如何锁定工作站 使用LockWorkStation函数即可锁定工作站。系统会显示一个锁定对话框,告诉用户此工作站正在使用并且已经被锁定,可以被执行锁定的用户或管理员解锁,解锁的方式是按下CTRL_ALT_DEL并用正确的帐号和密码登陆。 LockWorkStation函数成功调用的条件是: 调用者必须是运行在系统交互桌面上的一般进程。
2010-04-11 17:40:00
1251
转载 解压缩cab包
BOOL IterateCabinet(PTSTR pszCabFile){ if ( !SetupIterateCabinet(pszCabFile,0, (PSP_FILE_CALLBACK)CabinetCallback, 0) ) { return FALSE; } return TRUE;} LRESU
2010-04-11 17:39:00
982
转载 将byte数组的内容转换成BSTR类型
将byte数组的内容转换成BSTR类型本篇文章来源于 www.itzhe.cn IT者网站 原文链接:http://www.itzhe.cn/news/20080506/132214.html 网友回复:方案1: _bstr_t str = (char*)byteArray; str.GetBSTR() 方案2: CComVariant var = (char*)byteA
2010-04-11 17:37:00
847
1
转载 获取可执行文件版本号(装载)
这个例子就是查询任何可执行文件的版本信息 并且 C++builder 和 VC 都通用,只需要把 AnsiString 替换成 CString 就行了。 下面是完整例子: CString IS_GetAppVersion(char* AppName) { CString AppVersion;
2010-04-11 17:34:00
675
原创 遍历文件夹
BOOL EnumDllFiles(DWORD dwSetupID,CString FilePath,CString arry[],int length){ CString NextPath,tem,id; CFileFind FileFind; WIN32_FIND_DATA FindFileData={0}; HANDLE hF
2010-04-11 17:26:00
310
转载 VS2005使用DEF文件来生成DLL与Lib(转载)
VS2005使用DEF文件来生成DLL与Lib时,与VC6的设置是不一样的。 VC6工程中,只要有DEF文件并将其添加到工程中,VC6就可以自动地生成DLL与其相应的Lib文件了。 但是VS2005不一样,需要指定DEF文件,方法如下: 把 a.def 添加到工程中. 选择 工程 > 属性中的链接器,然后找到"输入"这一项. 在 "模块定义文件" 中输入 a.def.
2010-04-11 17:19:00
572
转载 获取到存储设备所在的总线类型(转载)
//本代码演示用IoBuildDeviceIoControlRequest向下层存储设备的DeviceObject发送一个代码为//IOCTL_STORAGE_QUERY_PROPERTY的IRP_MJ_DEVICE_IO_CONTROL的Irp获取到存储设备所在的总线类型。//此代码来源于互联网,所有权归原作者所有。 ULONG GetStorageDeviceBusType(I
2010-04-11 17:17:00
824
转载 根据GUID获得设备路径(转载)
// 根据GUID获得设备路径#include #include #pragma comment(lib,"setupapi.lib")// SetupDiGetInterfaceDeviceDetail所需要的输出长度,定义足够大#define INTERFACE_DETAIL_SIZE 1024const GUID DiskClassGuid = {0x53f56307L, 0
2010-04-11 17:10:00
3741
转载 C语言之详解#ifdef等宏(转载)
C语言之详解#ifdef等宏 这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else
2010-04-11 17:07:00
347
转载 char, BSTR, _bstr_t, CComBSTR之间的互相转换(转载)
char, BSTR, _bstr_t, CComBSTR之间的互相转换char: To BSTR: _com_util::ConvertStringToBSTR CString的AllocSystemString To _bstr_t: _bstr_t的构造函数 To CComBSTR: CComBSTR的构造函数
2010-04-11 17:00:00
436
转载 关于ActiveX控件
1. Activex 控件是怎么安装的一个HTML 中嵌入控件的例子 http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="400" height="300">http://www.macromedia.com/go/getflashplayer" type="a
2010-04-11 16:58:00
429
转载 _stat函数说明
//stat函数说明/*1 函数都是获取文件(普通文件,目录,管道,socket,字符,块()的属性。 函数原型#include int stat(const char *restrict pathname, struct stat *restrict buf);提供文件名字,获取文件对应属性。int fstat(int filedes, struct stat *buf)
2010-04-11 16:47:00
1916
转载 _DllMain@12 already defined的问题(转载)
如果开始用了一个SDK的Dll工程,然后为了在这个dll工程里面使用MFC,那么就会出现错误,例如 nafxcw.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in MsgBox.obj或者mfcs42.lib(dllmodul.obj) : error LNK2005: _DllMain@12 alr
2010-04-11 16:45:00
396
转载 如何避免同一个文件被include多次
1 #ifndef方式2 #pragma once方式 在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 一些声明语句 #endif 方式二: #pragma
2010-04-11 16:40:00
357
转载 获取硬盘序列号(转载)
// ReadHarddiskSerial.cpp : Defines the entry point for the console application.///*+++ HDID.CPP Written by Lu Lin http://lu0.126.com 2000.11.3 ---*/ #include "StdAfx.h"#include #include #include
2010-04-11 16:07:00
764
原创 http://zjc.wuse.edu.cn/
转载自:http://blog.youkuaiyun.com/guogangj/archive/2008/04/08/2261031.aspx 近来工作比较空闲,所以就上youkuaiyun.com看看帖子什么的,两个多月前,我在VC/MFC板块中发了这么一个帖子:dll占的究竟是谁的空间?详细参考: http://topic.youkuaiyun.com/u/20080123/16/310330cd-e262-45
2010-04-11 15:59:00
879
转载 [转]用ATL开发和部署ActiveX网页控件
摘要 ActiveX插件技术广泛的运用于B/S系统中,本文通过一个项目实例,详细介绍用ATL开发和部署ActiveX网页控件的过程。学习使用ActiveX让浏览器访问客户端的硬件资源。 关键字 ATL,ActiveX控件,COM组件 一、前言 在B/S结构的系统中,出于安全性考虑一般不准许浏览器访问客户端的硬件资源,如控制打印机,照相机等。对于一个完善系统来说,往往很多时候又需要控制这些资源。
2009-11-10 15:31:00
1815
转载 [转]微软研究院Detour开发包之API拦截技术
转载自:http://www.cnblogs.com/blue.net/archive/2009/07/30/1535214.html微软研究院Detour开发包之API拦截技术我们截获函数执行最直接的目的就是为函数增添功能,修改返回值,或者为调试以及性能测试加入附加的代码,或者截获函数的输入输出作研究,破解使用。 通过访 问源代码,我们可以轻而易举的使用重建(Rebuilding)操作
2009-11-10 15:27:00
1202
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人