- 博客(102)
- 资源 (30)
- 收藏
- 关注
原创 memmove
void * memmove (void *dest, const void *src, size_t len){ if(NULL==dest||NULL==src||len <=0) returnNULL; char *d = dest; const char *s = src; if (d < s) while (len--...
2019-05-21 01:04:04
1510
1
转载 获取内存信息
var MemInfo: MEMORYSTATUS;begin // 获取内存信息 GlobalMemoryStatus(MemInfo); Memo1.Lines.Add(IntToStr(MemInfo.dwMemoryLoad) + '%的内存在使用'); Memo1.Lines.Add('物理内存共有' + IntToStr(MemInfo.dwTotalPhy
2014-12-24 11:18:12
661
原创 OPC DA 3.0 改动
增加下列新的接口 - IOPCBrowse - IOPCItemDeadbandMgt - IOPCItemSamplingMgt - IOPCItemIO - IOPCSyncIO2 - IOPCAsyncIO3 - IOPCGroupStateMgt2澄清启动问题,且增加 WAITING
2014-07-23 21:39:04
3196
转载 c++ CLI C#
没有使用C++/CLI之前,我很怀疑它存在的意义.因为C#的语法更清爽,运行效率也不比C++差多少.C++本身就很复杂了,再乘以CLI的复杂度,我不能想出人们为什么会学习它,使用它. 但是在使用C#的过程中,渐渐发现.Net类库不够丰富,有很多功能必须通过P/Invoke来实现.一般常用的Windows API函数还好说,接口通常比较简单,DllImport + IntPtr已经足够了,而且
2014-06-23 20:18:54
608
原创 西门子243模块通信
初始握手const wstring g_InitFirstCmd = L"0300001611E00000000100C1024D57C2024D57C0010A";const wstring g_InitCmd2 = L"0300001902F08032010000CCC100080000F0000001000103C0";const wstring g_InitCmd3 = L"0
2014-06-20 10:54:31
1297
原创 QT 获得屏幕宽度
QDesktopWidget *dw = QApplication::desktop(); if(dw) { g_ScreenWidth = d->width(); }
2014-06-19 21:17:39
1067
转载 dll
#include "stdafx.h"struct VS_VERSIONINFO{ WORD wLength; WORD wValueLength; WORD wType; WCHAR szKey[1]; WORD
2014-06-09 20:50:25
572
转载 WINVER和_WIN32_IE等宏的含义
它们是用于定义windows和Internet Explorer版本号的,用于区分不用版本的函数和参数。在你编译程序时会根据不同的版本系统号,链接不同的函数和参数。Minimum System Required Macros to Define----------------------------------------------
2014-06-09 10:47:42
750
转载 qt 进程通信
1、QT通信机制为了更好的实现QT的信息交互,在QT系统中创建了较为完善的通信机制。QT的通信可分为QT内部通信和外部通信两大类。对于这两类通信机制及应用场合做如以下分析:(1)QT内部对象间通信在图形用户界面编程中,经常需要将一个窗口部件的变化通知给窗口的其它部件使其产生相应的变化。对于这种内部对象间的通信,QT主要采用了信号和槽的机制。这种机制是QT区别于其他GUI工具
2014-06-05 22:44:06
708
转载 qt 调用dll
声明: 事先我已经自己动手写了一个简单的dll文件(myDLL.dll),C版接口的。并且用我前两篇有关DLL文章里面的方法,从dll中导出了导入库(.lib)文件,dll中有两个函数,原型如下: void HelloWorld(); //函数内部调用Win32 API,功能是弹出一个helloworld提示框 int add(int a,int b); //实现两个
2014-06-05 22:42:51
670
转载 钩子
全系统钩子要放在DLL中,监视屏幕重画可用WH_CALLWNDPROC,下面是个鼠标钩子,可以参考Win32全局钩子在VC5中的实现作者:贺成士 Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子的
2014-06-04 21:25:18
551
转载 端口
端口是主机与外设进行数据交换的。(外设接口电路有专用于数据交互的寄存器。为了与CPU中的寄存器相区别,称之为“端口”)。端口有数据端口,状态端口和控制端口3种。PC机给予每一个端口分配了一个地址(称为端口号),形成一个独立于内存空间的I/O地址空间。在8086/8088中,端口地址的范围是0000至FFFF。CPU对外设的操作通过专门的端口读写指令来完成。读端口用IN指令,写端口用
2014-06-01 11:03:34
753
转载 try except
try-except用法 try except是windows 系统独有的异常处理模型,windows的异常处理模式,称为SEH( structured exception handling ), SEH的异常处理模型主要由try-except语句来完成,与标准的try catch相似。与C++异常处理模型使用catch关键字来定义异常处理模块,而SEH是采用__ex
2014-05-29 20:53:58
1646
原创 QT QSplashScreen
#include "mainwindow.h"#include #include #include #include#includeint main(int argc, char *argv[]){ QApplication app(argc, argv); QSplashScreen splash; QTime t0; t0
2014-05-29 15:06:36
791
转载 如何终止线程的运行(C/C++)
想要终止线程的运行,可以使用以下方法: 1、线程函数返回(最好使用该方法)。 2、通过调用ExitThread函数,线程将自行撤消(最好不使用该方法)。 3、同一个进程或另一个进程中的线程调用TerminateThread函数(应避免使用该方法)。 4、ExitProcess和TerminateProcess函数也可以用来终止线程的运行(应避免使用该方法)。下面将详细介绍终
2014-05-08 22:27:49
927
转载 timeGetTime
timeGetTime获取系统时间,毫秒。系统时间是系统启动以后消逝的时间。timeGetSystemTime和timeGetTime唯一的不同是返回值,timeGetSystemTime使用MMTIME结构,开销稍大。timeGetTime的精度取决于机器,大概五毫秒或更多,可以使用timeBeginPeriod和timeEndPeriod函数增加精度。GetTickCo
2014-04-25 11:23:47
1537
转载 List Iterator Not Incrementable
在VS2005中使用list的erase遇到了"List Iterator Not Incrementable"问题举个例子:1.list sList;list::iterator sP;sList.push_back(1);sList.push_back(3);sList.push_back(5);sList.push_back(7);for (sP =
2014-04-24 15:54:18
668
转载 list使用中遇到的erase问题(List Iterator Not Incrementable)
在VS2005中使用list的erase遇到了"List Iterator Not Incrementable"问题举个例子:1.list sList;list::iterator sP;sList.push_back(1);sList.push_back(3);sList.push_back(5);sList.push_back(7);for (sP =
2014-04-24 15:53:46
566
转载 WINDOWS API——OPENCLIPBOARD——剪切板
剪切板:系统维护的一个全局公共内存区域.每次只允许一个进程对其进行访问。剪切板操作方法如下:(MSDN上搜索Clipboard Operations)1.打开剪切板Bool OpenClipboard(HWND hWndNewOwner); 指定关联到打开的剪切板的窗口句柄,传入NULL表示关联到当前任务。每次只允许一个进程打开并访问。每打开一次就要关闭,否则其他
2014-04-09 14:42:56
737
转载 delphi Format
Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用:首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它
2014-03-31 14:57:56
493
转载 C# 获取运行程序路径的方法
获取运行程序路径的方法主要有以下7种:System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName他获取的是Module的文件名,如果在VS2008的调试环境中,获取的是 [程序名].vshost.exe的完整文件名。System.Environment.CurrentDirectorySystem.IO.Di
2014-01-17 09:49:06
696
转载 SQL HAVING用法详解
HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 和 SELECT 的交互方式类似。WHERE 搜索条件在进行分组操作之前应用;而 HAVING 搜索条件在进行分组操作之后应用。HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。HAVING 子句可以引用选择列表中显示的任意项。 下面的示例按产品 ID 对 SalesOrderD
2013-12-23 16:16:40
624
原创 mysql 中COMMANDS 支持的所有命令
typedef struct { const char *name; /* User printable name of the function. */ char cmd_char; /* msql command character */ int (*func)(String *str,char *); /* Function to call to do the job. *
2013-12-23 10:55:58
700
转载 NamedPipe
#include#include#includeusing namespace std;DWORD WINAPI thread1(LPVOID param){char buf[256];DWORD rlen=0;HANDLE hPipe = CreateNamedPipe(TEXT("\\\\.\\Pipe\\mypipe"),PIPE_ACCESS_DUPLEX,
2013-12-20 16:06:54
579
转载 mysql Windows
(1) 为了少走弯路,建议下载5.1.x版本。 网上关于在win32系统布署调试环境的贴子本来就少,官网的资料也都是英文,对于不习惯看英文的人可算是折磨。并且,就那么少的贴子说的内容说的还是5.1.x版本的办法(我事后才知道),对于习惯下载最新版人的人来说,算是一头雾水,因为刚开始要用win目录下的configure.js文件,而5.5.x版本并没有这个文件。还以为自己下错版本了。所以,
2013-12-20 10:20:21
623
原创 boost udp
#include "stdafx.h"#include #include #include using boost::asio::ip::udp;int _tmain(int argc, _TCHAR* argv[]){try{if (argc != 2){std::cerr " return 1;}boost::asio::io_s
2013-12-16 19:40:06
866
原创 去掉注释换行等
std::string s = "select * form aaa \n /*mmmuuu*/ \n \n yuan hs";boost::xpressive::sregex reg1 = boost::xpressive::sregex::compile("(\\n)|^(//.*?\\n\\s*)|(/\\*(.|\\n)*?\\*/\\s*)"); std::string
2013-12-15 11:48:39
630
转载 c++关键字详解
c++关键字详解(volatile,mutable,explicit,dynamic_cast(expression))等1 volatile有些变量是用volatile关键字声明的。当两个线程都要用到某一个变量且该变量的值会被改变时,应该用volatile声明,该关键字的作用是防止优化编译器把变量从内存装入CPU寄存器中。如果变量被装入寄存器,那么两个线程有可能一个使用内存中的变量,一
2013-12-08 16:24:04
601
转载 CComVariant相关
与使用BSTR相较而言,使用VARIANT算比较简单了,设置了类型信息和数据就完事,而且,从内存管理的角度来说,VARIANT的内存方式也相对接近常规化,因不了解而出问题的概率大大减少了,但是,为了避免万一的情况发生,我们总是不懈努力,这就是CComVariant出现的动机吧(个人诳语丷丷)。 哈哈,其实CComVariant的出现应该从VARIANT的不足谈起(也就是所谓的使用VARI
2013-12-03 23:25:59
616
转载 DisableThreadLibraryCalls
1、函数原型BOOL WINAPI DisableThreadLibraryCalls( __in HMODULE hModule);功能: 禁用指定的DLL的DLL_THREAD_ATTACH和DLL_THREAD_DETACH通知,这样可以减小某些程序的工作集大小。 参数:
2013-12-03 21:31:14
2078
转载 const
1. const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可变。例如:const
2013-12-03 12:04:03
524
转载 Windows API函数大全
Windows API函数大全1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接
2013-12-02 12:25:43
800
原创 vc++ 共享内存
// ShareMemory1.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include#include using namespace std;int _tmain(int argc, _TCHAR* argv[]){
2013-12-01 21:36:48
1189
原创 stl
std::isdigit()判断是否为整形数,std::ispunct(),判断是否为标点符号或者特殊符号std::isalpha()判断数否为英文字符
2013-11-30 21:56:24
597
转载 boost string
boost::algorithm提供了很多字符串算法,包括: 大小写转换; 去除无效字符; 谓词; 查找; 删除/替换; 切割; 连接; 我们用写例子的方式来了解boost::algorithm能够为我们做些什么。boost::algorithm学习#include using namespace std;using namespace boost; 一:大小写转换1
2013-11-29 22:49:17
713
转载 STL 文件流
在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write Stdout"<<'n';就表示把字符串"Write Stdout"和换行字符('n')输出到标准输出流。
2013-11-29 14:05:06
761
转载 遍历树
递归与非递归转换的基础知识是能够正确理解三种树的遍历方法:前序,中序和后序,第一篇就是关于这三种遍历方法的递归和非递归算法。如何用栈实现递归与非递归的转换(一)三种遍历树的算法一.为什么要学习递归与非递归的转换的实现方法? 1)并不是每一门语言都支持递归的. 2)有助于理解递归的本质. 3)有助于理解栈,树等数据结构.二.三种遍历树的递归和非递归算法
2013-11-22 23:24:09
708
原创 event
CoreShell: TCoreShell;CoreShell := TCoreShell.Create(...);CoreShell.InitializeApplication_1;CoreShell.InitializeApplication_2;......CoreShell.ExitAppl
2013-11-22 22:27:31
625
转载 stl string
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常st
2013-11-22 22:26:15
574
黑洞OCR文字识别小程序v1.3.rar
2019-05-17
Screen_Capture.rar
2019-05-11
vc_mbcsmfc
2019-01-19
libboost_system-vc80-mt-gd-1_53.lib 下载
2013-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人