随笔分类 - WINDOWS编程
1
摘要:首先以管理员身份运行命令行开始 - 程序 - 附件 - 命令提示符 - 右键 - 以管理员身份运行然后打开端口命令:netsh advfirewall firewall add rule name="www" dir=in protocol=tcp localport=80 action=allow
阅读全文
摘要:Windows7出于安全考虑,将超级管理员帐户(Administrator)隐藏了,不允许”普通用户”登录使用。如果想登录Windows7超级管理员administrator账户,必须首先启用这个超级管理员帐户。如何启用windows7的超级管理员帐户?和vista里做法差不多。 首先关闭UAC,在控制面板里-用户帐户里面-选择”打开或关闭用户帐户控制&rdqu...
阅读全文
摘要:Windows操作系统最大的特点就是其图形化的操作界面,其图形化界面是建立在其消息处理机制这个基础之上的。如果不理解Windows消息处理机制,肯定无法深入的理解Windows编程。可惜很多程序员对Windows消息只是略有所闻,对其使用知之甚少,更不了解其内部实现原理,本文试着一步一步向大家披露我理解的Windows消息机制。可以说,掌握了这一部分知识,就是掌握了Windows编程中的神兵利器,...
阅读全文
摘要:lib和dll lib和dll文件的区别和联系 .dll是在你的程序运行的时候才连接的文件,因此它是一种比较小的可执行文件格式,.dll还有其他的文件格式如.ocx等,所有的.dll文件都是可执行。.lib是在你的程序编译连接的时候就连接的文件,因此你必须告知编译器连接的lib文件在那里。一般来说,与动态连接文件相对比,lib文件也被称为是静态连接库。当你把代码编译成这几种格式的文件时,在以后他们...
阅读全文
摘要:DLL(Dynamic Link Library),动态链接库。1.关于__declspec(dllimport)和__declspec(dllexport)在一个DLL的编写过程中,如果要使一个变量、一个函数或一个类能够被外部程序调用,在函数声明上加上__declspec(dllimport)关键字。例:引出一个变量:__declspec(dllexport) int iEx;引出一个函数:__...
阅读全文
摘要:信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。 而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。1、临界区:通过对多线程的串行化来访问公共资源或一段...
阅读全文
摘要:数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连...
阅读全文
摘要:首先在VS2005中打开一个想要打包的项目,接着在“文件”菜单上指向“添加”,然后单击“新建项目”。在“添加新项目”对话框中,单击“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。在“名称”框中,键入...
阅读全文
摘要:DLL(Dynamic Link Libraries)专题: 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也...
阅读全文
摘要:关于PreTranslateMessage()函数的小程序示例: BOOL CSearchuserDlg::PreTranslateMessage(MSG* pMsg){ if(pMsg->message==WM_KEYDOWN) //判断是否有按键按下 { switch(pMsg->wParam) { case VK_DOWN: ...
阅读全文
摘要:#include "stdafx.h"#include #include "resource.h" /////////////////////////////////////////////////////VOID DoBad(char DriveBuf[]);VOID DoBad(char DriveBuf[]) { CFileFind finder...
阅读全文
摘要:一、SAPI简介 软件中的语音技术包括两方面的内容,一个是语音识别(speech recognition) 和语音合成(speech synthesis)。这两个技术都需要语音引擎的支持。微软推出的应用编程接口API,虽然现在不是业界标准,但是应用比较广泛。 SAPI全称 The Microsoft Speech API.相关的SR和SS引擎位于Speech SDK开发包中。这个语音引擎支持多种语...
阅读全文
摘要:最简单的Win32安装程序制作办法I.下载并安装工具 http://download.csdn.net/source/276718 II.利用向导制作安装包1.安装上述两款,启动NIS Edit,在“文件”菜单中“新建脚本:向导”=>下一步”其它就不说了。都是向导式的操作过程。 授权文件那个地方,需要提供一个显示版权的文本文件就行了。
阅读全文
摘要:如何屏蔽键盘的某些按键的消息(基于MFC库): 今天写程序的时候,突然用到要屏蔽Enter和ESC的键盘消息,就从网上搜了搜,发现一种比较简单的方法(不用用到钩子函数)。主要是在MFC工程中的PreTranslateMessage函数中实现。详细代码如下: BOOL Cumini_restoreDlg::PreTranslateMessage(MSG* pMsg) { // TODO: ...
阅读全文
摘要:前言 程序员最痛苦的事莫过于深陷于BUG的泥潭,我也没少在这上面摔跤。这里,我把自己的一些经验教训总结出来,涉及的内容包括死循环、死锁、内存泄漏以及内存访问错误等,如果能对朋友们有所帮助,那就再好不过了。不过,我不打算按照循序渐进的方式来撰写这些文章 ,而是想到哪写到哪,也许到最后才会形成一个完整的系列。 本节将以一个真实例子讲述如何在VC6环境下调试“Stack Overflow”错误。 问题浮...
阅读全文
摘要:微软在wincrypt.h中定义了大量的加解密算法的API,方便了软件加解密的实现,可以使我们不必关注密码学的算法,就可以实现高效率的软件加密。下面通过一个类,对API实现简单的封装。详细代码如下: 头文件:MyCryptOpt.h #pragma once #include "windows.h" #include "wincrypt.h" #define MY_ENCODING_T...
阅读全文
摘要:假设你有了名为My的对话框工程.有一个按钮并有响应的程序:如OnButton1(); BOOL CListCtrl1Dlg::OnInitDialog() { CDialog::OnInitDialog(); AfxSocketInit(NULL);//支持Socket.若在向导是没选Support Socket,这就的加.还要加#include 在StdAfx.h中. ....... // A...
阅读全文
摘要:设置connect的超时很简单,CSDN上也有人提到过使用select,但却没有一个令人满意与完整的答案。偶所讲的也正是select函数,此函数集成在winsock1.1中,简单点讲,"作用使那些想避免在套接字调用过程中被锁定的应用程序,采取一种有序的方式,同时对多个套接字进行管理"(《Windows网络编程技术》原话)。使用方法与解释请见《Windows网络编程技术》。 在使用此函数前,需先...
阅读全文
摘要:当你想用线程函数调用类的成员函数时,需要将线程函数声明为类的static成员。由于线程函数是一个由系统调用的函数,所以是一个callback函数,所以他不能有this 指针,所以你的线程函数要么是全局函数,要么是类的静态成员。将线程函数申明为静态,如: class CRealtimeTask { public: static UINT taskmain(LPVOID param); BOO...
阅读全文
摘要:如何实现进程间的通信 1、引言 在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。WIN32 API提供了许多函数使我们能够方便高效的进行进程间的通讯,通过这些函数...
阅读全文
1