![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
承接各种编程私活
这个作者很懒,什么都没留下…
展开
-
c++ 获取当前显示模式
经过长时间的努力,终于搞清楚怎么获取显示模式,也就是msdn里面介绍的原创 2014-07-22 09:13:50 · 2307 阅读 · 1 评论 -
DLL入门浅析(2)——如何使用DLL
上文我简单的介绍了如何建立一个简单DLL,下面再我简单的介绍一下如何使用一个DLL。当一个DLL被生成后,它创建了一个.dll文件和一个.lib文件;这两个都是你需要的。要使用DLL,就需要载入这个DLL。隐式链接这里有两个方法来载入一个DLL;一个方法是捷径另一个则相比要复杂些。捷径是只链接到你.lib 文件并将.dll文件置入你的新项目的路径中去。因此,创建一个新的空的Win3转载 2014-10-21 14:24:49 · 673 阅读 · 0 评论 -
DLL入门浅析(3)——从DLL中导出变量
前面介绍了怎么从DLL中导出函数,下面我们来看一下如何从DLL中导出变量来。 声明为导出变量时,同样有两种方法: 第一种是用__declspec进行导出声明#ifndef _DLL_SAMPLE_H#define _DLL_SAMPLE_H// 如果定义了C++编译器,那么声明为C链接方式#ifdef __cplusplusextern "C" {转载 2014-10-21 16:29:06 · 548 阅读 · 0 评论 -
C++ HTTP协议 下载文件
#include #include #include #define MAXBLOCKSIZE 1024void download(const char*);int main(int argc, char* argv[]){ if(argc > 1){ download((const char*)argv[1]); }else{ printf("Us转载 2014-11-07 10:56:06 · 6354 阅读 · 3 评论 -
C++ 遍历注册表项下的所有键和值
#include "stdafx.h"#include #include #include #include #include #include #include #define MAX_KEY_LENGTH 255 #define MAX_VALUE_NAME 16383 DWORD dwType = REG_BINARY | REG_DWORD | REG原创 2015-01-06 14:48:12 · 11041 阅读 · 1 评论 -
Windows Socket 入门示例
Client端:#include "stdafx.h"#include #include #pragma comment( lib, "ws2_32.lib" ) int _tmain(int argc, _TCHAR* argv[]){ WORD wVersionRequested; WSADATA wsaData; int err; //Initlize. wV原创 2015-01-27 17:14:24 · 703 阅读 · 0 评论 -
C++ 获取局域网内所有可用IP和主机名
void GetNameAndIp(){ struct hostent *host; struct in_addr *ptr; DWORD dwScope = RESOURCE_CONTEXT; NETRESOURCE *NetResource = NULL; HANDLE hEnum; WNetOpenEnum(dwScope, NULL, NULL原创 2014-12-10 14:35:24 · 19198 阅读 · 1 评论 -
wininet InternetOpenUrlA 设置访问超时
利用wininet访问网络资源,有的网站不存在,会造成时间过长等问题,就想设置超时来解决这个问题,查到了API函数:InternetSetOption,不过这个函数设置之后毫无作用。。。开始查找其他解决方案,最终发现有单独线程的方案可取,也就是利用线程来访问,之后可以通过句柄来监控时间,具体代码如下:struct PARA { string url = ""; string* req原创 2015-04-20 17:40:01 · 7440 阅读 · 1 评论 -
C++ 下载文件 HTTP
参考:http://stackoverflow.com/questions/5184988/should-i-use-urldownloadtofile#include "stdafx.h"#include #include #include #include #pragma comment(lib,"Urlmon.lib") //加入链接库int _tmain(in转载 2015-05-13 09:26:43 · 2158 阅读 · 0 评论 -
winhttp 发送 get 请求
由于微端要和服务器交互,而服务器又只有http协议的处理,所以需要用C++来模拟get或post请求。这是使用windows api来模拟get请求的,使用到的库有“winhttp”,头文件有“winhttp.h”,下面的代码来源于http://msdn.microsoft.com:12345678转载 2015-05-25 19:33:05 · 2649 阅读 · 0 评论 -
DLL入门浅析(1)——如何建立DLL
初学DLL,结合教程,总结一下自己的所得,希望对DLL初学者们有所帮助。 动态链接库(DLL)是从C语言函数库和Pascal库单元的概念发展而来的。所有的C语言标准库函数都存放在某一函数库中。在链接应用程序的过程中,链接器从库文件中拷贝程序调用的函数代码,并把这些函数代码添加到可执行文件中。这种方法同只把函数储存在已编译的OBJ文件中相比更有利于代码的重用。但随着Windows这样的多转载 2014-10-21 10:49:01 · 498 阅读 · 0 评论 -
C++实现发送HTTP请求
C++实现发送HTTP请求转载 2014-11-04 19:52:09 · 1800 阅读 · 0 评论 -
error LNK2019: 无法解析的外部符号 __imp___CrtDbgReportW
所在的项目点右键,选择“属性” -> “配置属性” -> “C/C++” -> “预处理器” -> “预处理定义” 移除_DENUG或将 _DENUG改为NDENUG转载 2014-10-28 15:32:28 · 5809 阅读 · 0 评论 -
c++ 获取显示器的连接端口类型(VGA,HDMI,DVI等等)
由于研究需要,原创 2014-07-28 09:48:24 · 9114 阅读 · 0 评论 -
在C++中使用sqlite的示例(从下载、编译、工程建立、配置、测试代码编写全方位介绍)
SQLite是一个完全独立的、不需要服务器、不要任何配置、支持SQL的、开源的文件数据库引擎。源代码和支持可以登录:http://www.sqlite.org/ 本文主要介绍如何在C++中使用sqlite。1、SQLite下载与安装 本文以3.7.4版本为例进行说明。在http://www.sqlite.org/ 下载windows平台的3.7.4版本的sqlite。转载 2014-08-18 17:09:01 · 978 阅读 · 0 评论 -
宽字符串忽略大小写比较的实现
宽字符串忽略大小写比较的实现在Mac机器平台上没有wcsicmp 或 wcscasecmp之类的函数实现对宽字符忽略大小写的比较,所以实现了好几种方法。一个自然的思路是:(1) wcscpy 原字符串到tmp字符串;(2) tolower tmp字符串;(3) 然后调用仅存的wcscmp 完成比较。 我曾经实现过几次这个步骤,一个是实现起来比较繁琐,效率等方面更是不转载 2014-07-31 17:13:26 · 2507 阅读 · 0 评论 -
获取当前显示设备数量
BOOL CALLBACK MonitorEnumProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData){ int *Count = (int*)dwData; (*Count)++; return TRUE;}int MonitorCount(){ int Co原创 2014-08-13 14:17:30 · 772 阅读 · 0 评论 -
Sqlite + CodeBlocks + Ubuntu
今天项目需要集成sqlite源代码,由于在Linux运行要求,所以shiy原创 2014-11-10 17:31:03 · 1572 阅读 · 0 评论 -
C++ 检测是否连接到Internet
非常简单,代码如下: DWORD flag; BOOL con = InternetGetConnectedState(&flag, 0); if (con) std::cout << "Connected!" << std::endl; else std::cout原创 2014-11-11 14:20:18 · 2538 阅读 · 0 评论 -
Sqlite + CodeBlocks + Ubuntu
今天项目需要集成sqlite源代码,由于在Linux运行要求,所以使用了CodeBlocks进行开发。开发过程中,发现sqlite.c文件使用c编写的,而其他的文件皆为C++写的,编译的时候,一直报错:invalid conversion from 'void*' to 'sqlite3_int64* {aka long long int*}'后来果断查了一下,发现时用c++编译器编译c文原创 2014-11-10 18:35:25 · 849 阅读 · 0 评论 -
在非主线程中创建窗口
//========================================================================//TITLE:// 在非主线程中创建窗口//AUTHOR:// norains//DATE:// Saturday 29-December-2007//Environment:// VS200转载 2014-10-27 14:24:15 · 718 阅读 · 0 评论 -
C++ 获取所有USB设备 列举所有USB设备 列举所有USB HUB
最近在开发USBxiang原创 2014-11-13 15:42:31 · 21076 阅读 · 2 评论 -
缺少动态连接库.so--cannot open shared object file: No such file or directory
总结下来主要有3种方法:1. 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边ln -s /where/you/install/lib/*.so /usr/libsudo ldconfig2.修改LD_LIBRARY_PATHexport LD_LIBRARY_PATH=/where/you/install/lib:$LD_L转载 2015-12-29 15:50:32 · 1478 阅读 · 0 评论