斯蒂芬森的专栏

是日已过,命亦随减;如少水鱼,斯有何乐?当勤精进,如救头燃!但念无常,慎勿放逸。...

windows下Libevent的多线程封装(以文件传输为例)

1、主线程负责监听,子线程负责响应连接,同时每个子线程增加了链表来管理连接进来的客户端,将上一节中的内存管理类也封装进去。总体框架是不变的。 2、封装类的实现: #pragma once #include "winsock2.h" #include &am...

2018-11-16 14:30:11

阅读数 190

评论数 2

windows下Libevent +多线程(负载均衡分配法) 之文件传输

一、先说一下服务端的流程: 1、主线程负责监听客户端的连接; 2、当有客户端连接时,主线程通过管道向相应的子线程发送监听套接字描述符,子线程通过负载均衡法选择出来; 3、当主线程发送监听描述符时,子线程的读管道回调函数会被回调; 4、子线程为收到的监听描述符设置读取回调、写回调、事件回调等...

2018-11-13 14:54:47

阅读数 167

评论数 0

QT操作Oracle数据库(事务、存储过程)

QT操作Oracle数据库可以使用QODBC、QOCI两种驱动,这里使用QODBC驱动。在使用QOCI驱动操作oracle时,事务不能回滚,可能是我编译的QOCI驱动有问题,但是暂时没有找到原因。 #ifndef QTTEST_H #define QTTEST_H #include &...

2018-10-23 10:44:39

阅读数 405

评论数 0

QT通过ODBC驱动连接Oracle数据库

1)我是用的是qt4.8.6,里面是自带odbc驱动的,如果没有的话也可以进行编译,具体方法是: 第一步,打开qt下的黑窗体; 第二步,一次输入:           1、  cd C:\Qt\4.8.6\src\plugins\sqldrivers\odbc           2、qm...

2018-10-22 18:48:29

阅读数 781

评论数 1

QT4.8.6+Vs2010编译Oracle下的QOCI驱动

我使用的Oracle版本是32位的11g。 1、打开qt下的黑框体工具 Qt 4.8.6 Command Prompt; 2、依次输入如下命令,每输入依次按下回车: 以上一共5条命令,注意最后一条命令,默认生成的是debug版本的驱动库,如果需要使用release版本的驱动库,需要把最后...

2018-10-09 13:44:14

阅读数 164

评论数 0

QT自绘带滚动条的Tab界面类的封装

一、原理: 1、当拖动滚动条的滑块时,通过计算的拖动比例来拖动可视界面; 2、可视界面的拖动通过移动绘图的坐标系来完成; 3、点击Tab选项页时发送信号,传送其索引编号。   二、Tab界面类的封装: 头文件: #ifndef ZZCLISTWIDGET_H #define ZZC...

2018-08-13 19:19:55

阅读数 230

评论数 1

QT中使用fontawesome-webfont.ttf字体库

1、fontawesome-webfont.ttf字体库中包含了很多图标,每个图标都对应一个编码,所以我们通过字体编码来加载所需要的图标。 2、字体库的下载地址:http://www.bootcss.com/p/font-awesome/。下载完成后我们找到fontawesome-webfont...

2018-08-01 19:43:13

阅读数 1161

评论数 0

QT之系统托盘图标

理论摘自网友:https://blog.csdn.net/zhuyunfei/article/details/51433822 1.功能说明 对于GUI程序,如果想要实现当最小化时,程序从任务栏消失,在系统托盘显示一个图标,表示此程序,并能在托盘内通过双击或者菜单使程序界面恢复。 2.使用的...

2018-07-31 10:59:44

阅读数 267

评论数 0

QT操作xml文件封装类(读、写、添加、删除)

#ifndef _XML_HANDLE_H #define _XML_HANDLE_H #include "Windows.h" #include <shlwapi.h> #include <...

2018-07-30 11:01:47

阅读数 574

评论数 0

ADO:使用记录集对象Recordset 查询数据库中的数据

在 ADO 程序开发中,记录集对象 Recordset 对象代表一个表的记录集合或者是一个SQL命令或是存储过程的执行结果。简单的说,记录集实际上缓存了从数据库获得的记录,应用程序可以从记录集中获得每条记录的字段。①、记录集对象 Recordset 的属性:⑴ RecordCount 属性:返回记...

2018-04-12 15:31:22

阅读数 1680

评论数 0

局域网远程操作Oracle数据库之服务端配置详解

服务端的监听配置我们使用Net Manager来进行:1.添加监听程序的名称(名称可以随意指定):2、添加监听地址和端口,地址是服务器的ip,端口采用1521。3、添加数据库服务:文件---保存网络设置!配置完后,测试发现客户端不能远程连接到服务器数据库,提示没有监听程序。应该是监听程序美誉启动,...

2018-04-10 12:26:40

阅读数 172

评论数 0

局域网远程操作Oracle数据库之客户端配置详解

客户端的配置使用Oracle自带的Net Configuration Assistant和Net Manager都可以,这里使用第一种工具。主要是配置一个本地网络服务名。步骤如下:在这里我进行更改登录,测试还是未成功!不要紧,我们需要查看下tnsnames.ora文件:所在目录我这里是:D:\or...

2018-04-10 10:45:42

阅读数 83

评论数 0

使用远程线程进行DLL注入

/*原理:在目标进程中创建一个线程,让创建的线程载入自己的DLL*/ void CInjectDLLDlg::OnBnClickedBtnThread() { /*获得正在运行进程的句柄*/ HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMA...

2018-04-08 09:16:40

阅读数 150

评论数 0

Windows挂钩注入DLL

代码实现(被注入进程):private: DWORD m_dwId; HHOOK m_hHook; HMODULE m_hmDll; private: DWORD GetPIdByProcessName(const char* pszProcessName); BOOL InjectDl...

2018-04-04 15:33:27

阅读数 221

评论数 0

使用动态库DLL导出类

首先创建一个DLL工程,名称为ServMgrDll,新建一个类,包含头文件ServConfig.h和cpp文件ServConfig.cpp。类的代码如下:.h:#pragma once /* 如果没有定义:ServConfigAPI,则ServConfigAPI定义为:_declspec...

2018-04-02 16:18:06

阅读数 697

评论数 1

CListView中OnTimer()函数只进入一次的问题

今天写一个服务自启程序,遇到了一个问题:在CListView中的OnTimer()函数,只进入一次就不进入了,经过百度查找到了原因:原来在CListCtrl中,基类的的OnTimer()会调用KillTimer,杀死你的定时器。1、下面是原因:SYMPTOMS If you call the Se...

2018-03-29 08:44:02

阅读数 194

评论数 0

CListCtrl控件的自绘操作

1、CListCtrl控件 :OwnerDraw Fixed = True,创建一个CListCtrl类的派生类CMyListCtrl,同时创建一个CMyListCtrl控件类型变量:CMyListCtrl m_cList;。 CListCtrl控件的自绘主要是CMyListCtrl类中重写Dra...

2017-09-28 13:45:08

阅读数 874

评论数 0

ComboBox控件自绘操作

一: 1、设置ComboBox控件的属性:Has Strings = True, Owner Draw = variable或fixed,Tyle = Drop List。 2、建立一个类:CMyComboBox,派生自:CComboBox,绑定关于CMyComboBox类的控件变量,并声明一个C...

2017-09-27 13:50:07

阅读数 1579

评论数 0

Button按钮控件自绘操作

1、首先为工程CButton类的派生类CMyButton,在CMyButton的头文件中添加一个用于保存图标的成员变量和一个设置函数:用来为按钮加载我们导入的图标。 public: HICON m_hIcon; void SetIcon(UINT nIcon) { m_hIcon = ...

2017-09-26 08:47:10

阅读数 341

评论数 0

对ListCtrl列表控件按列进行排序

新建一个对话框工程,拖一个列表控件,ID是IDC_LIST,属性是Report报表模式。 在对话框的初始化函数OnInitDialog()中对列表框进行初始化,初始化为一个具有三列的列表框,分别为:编号、姓名、民族。 然后在拖三个按钮。第一个按钮控制按列表控件的第一列进行循环排序;第二个按钮控制按...

2017-09-23 19:47:19

阅读数 1470

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭