• vc++启动和停止服务【转】

    包含头文件:#include 以下以web服务为例: #include void CStartServiceDlg::OnBnClickedButton1() { // 打开服务管理对象 SC_HANDLE hSC = ::OpenSCManager( NULL, NULL, GENERIC_EXECUTE); if( hSC == NULL) { TRACE( “open SCManager error”); return; } // 打开www服务。 SC_HANDLE hSvc = ::O...阅读全文
    作者:不靠谱的码农 | 分类:C&C++, 编程开发 | 阅读:6,720次
  • 枚举CSP容器

    HCRYPTPROV  hTokenProv = 0; HCRYPTKEY  hKeyCAPI = NULL; BYTE  pbCertContainerName[10][40] = {0};  //容器名称 DWORD  dwCertContainerNameLen = 40;     //容器名称长度 DWORD  dwCertNumber = 0;  //容器数目 DWORD  dwCertLen=0; DWORD  i=0; int  iRet = 0; if(!CryptAcquireContext(&hTokenProv, NULL, CSP_NAME, PROV_RSA_FULL,NULL)!=0) { int sdw = GetLastError(); CStri...阅读全文
    作者:不靠谱的码农 | 分类:C&C++, 编程开发 | 阅读:7,500次
  • VC清除SSL缓存源码实现

    VC清除SSL源码 : DWORD ClearSslState() { SSL_EMPTY_CACHE_FN_A            pfnSslEmptyCacheA              = NULL; SSL_EMPTY_CACHE_FN_W            pfnSslEmptyCacheW              = NULL; INCREMENTURLCACHEHEADERDATA_FN  pfnIncrementUrlCacheHeaderData = NULL; HMODULE hSchannel; HMODULE hWinInet; DWORD dwData; hSchannel = ::LoadLibrary(_T(“SCHANNEL.DLL”))...阅读全文
    作者:不靠谱的码农 | 分类:C&C++, 编程开发 | 阅读:5,609次
  • 将unsigned char类型转换为十六进制

    最近在工作中需要将一组unsigned char的数据转换为16进制,经过上网查阅数据终于写出来了,在这里与大家分享一下。 #define BitGet(Number,pos)((Number)>>(pos)&1) char GetOne(char a) { int tem[4]={0}; for(int i = 7;i>3;–i) tem[7-i] = BitGet(a,i); int total = tem[0]*8+tem[1]*4+tem[2]*2+tem[3]; if(total=0;–i) tem[3-i] = BitGet(b,i); int total = ...阅读全文
    作者:不靠谱的码农 | 分类:C&C++ | 阅读:9,784次
  • 类成员函数的重载、覆盖和隐藏区别

    成员函数被重载的特征: (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是: (1)不同的范围(分别位于派生类与基类); (2)函数名字相同; (3)参数相同; (4)基类函数必须有virtual 关键字。 “隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下: (1)如果派生类的函数与基...阅读全文
    作者:不靠谱的码农 | 分类:C&C++, 编程开发 | 阅读:7,371次
  • 字符串处理函数的实现

    1. strlen函数 //返回字符串的长度 int my_strlen(const char *str) { int i = 0; for(;*str++ != ‘\0’;i++); return i; } 2. strcpy函数 //strSrc指向的字符串拷贝到strDest char * strcpy( char *strDest, const char *strSrc ) { assert((strDest != NULL) && (strSrc != NULL)); char *address = strDest; while((*strDest++ = *strSrc++) != ‘\0...阅读全文
    作者:不靠谱的码农 | 分类:C&C++, 编程开发 | 阅读:5,374次
  • C语言基础知识点总结

    1、函数是构成C程序的基本单位,程序从main函数开始,在main函数结束,一个程序只有一个main函数。 2、C语言中用到的函数分:系统函数和用户自定义函数。 3、C语言函数体分为两部分,定义部分和执行部分,任何变量必须先定义后使用。 4、分号是C语句结束的标志。 5、标识符:1.只能由字母(区分大小写)、数字、下划线组成;2.开头必须是字母或下划线。 6、C语言中标识符分:关键字、预定义...阅读全文
    作者:不靠谱的码农 | 分类:C&C++, 编程开发 | 阅读:7,529次