自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赤荒野人的专栏

土葬所有不快 用心微笑

  • 博客(19)
  • 资源 (2)
  • 收藏
  • 关注

原创 运行后自已删除程序

当一个可执行程序exe在执行过程中,程序文件无法删除,这是因为系统将每个正在运行的程序对应的硬盘文件映射到内存,即虚拟内存,要实现自删除,关键一点在程序退出前将程序从内存映射中解放出来,然后再调用文件操作函数删除程序文件!typedef int (WINAPI *PFClose)(LPVOID);     OSVERSIONINFO os_info;     os_info.dwOSVersi

2008-06-30 17:24:00 611 1

原创 枚举所有的任务,任务管理器的一些资料的整理

1.列举所有的任务调用EnumWindows这个函数BOOL EnumWindows(  WNDENUMPROC lpEnumFunc,  // callback function  LPARAM lParam            // application-defined value); 如: ::EnumWindows((WNDENUMPROC)enumProc

2008-06-30 17:18:00 782

原创 打开文件对话框能进行多项选择

打开文件对话框时,增加OFN_ALLOWMULTISELECT属性,就可以使打开文件对话框进行多选了。如:CFileDialog m_Dlg( TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT| OFN_ALLOWMULTISELECT, NULL, NULL );之后,用GetStartPosition()函数获取选择的起始文件位置

2008-06-20 10:40:00 1349

原创 WINDOWS API函数大全

WINDOWS API函数大全 1. API 网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接

2008-06-19 16:59:00 1137

原创 写Log函数

CRITICAL_SECTION pCs; void WriteLog(char* pFile, char* pMsg) {  ::EnterCriticalSection(&pCs);  try  {   FILE* pLog = fopen(pFile,"a");   fprintf(pLog,pMsg);   fclose(pLog);  } catc

2008-06-17 12:00:00 583

原创 关于文件操作的API函数

在VC中,大多数情况对文件的操作都使用系统提供的 API 函数,但有的函数我们不是很熟悉,以下提供一些文件操作 API 函数介绍:一般文件操作 API  CreateFile  打开文件  要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。  ReadFile  从文件中读取字节信息。   在打开文件获得了文件句柄之后,则可以通过该函数读

2007-11-15 11:01:00 767

原创 读取系统中注册的串口

系统中有多少串口可以使用?串口必须在系统中注册,所以打开注册表找到相关的键值就可以。下面是一个打开注册表并读取数值的函数。// 返回值为串口数量//返回strComArray为串口名int CComDemoDlg::GetComName(CString * strComArray){ int  i=0; if(!(GetVersion() & 0x80000000))  {// Windows

2007-11-15 10:51:00 629

原创 VC透明窗体的实现

VC实现透明窗体 SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,   GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);  HINSTANCE hInst = LoadLibrary("User32.DLL");  if(hInst)  {   typedef BOOL (WINAPI

2007-11-05 17:08:00 1497

原创 VC读写INI文件

Server.ini文件:[General]FastStart=1Changeler=1233ChangellerA=1234操作: CString m_strAppPath,m_strIni; char buf[MAX_PATH]; ::GetModuleFileName(NULL,buf,sizeof(buf)); CString str=buf; int m=str.Revers

2007-11-02 15:23:00 885

原创 判断是否有可用网络

//如何在程序中判断所在机器是否有可用的网络连接,判断当前网络是否工作正常,是否有可用的网络.bool  CVDialerDlg::CheckNetWorkStatus(){ CString strHost=_T(""); strHost.Format("%s", thePrefs.GetServerURL() ); LPHOSTENT lpHost; //Lookup host lpHost

2007-11-02 15:11:00 504

原创 从网站上读取数据的方法

1.把文件下到本地STDAPI URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);                             STDAPI URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);  

2007-11-02 15:00:00 1443

转载 VC++文件说明

.opt 工程关于开发环境的参数文件。如工具条位置等信息; .aps (AppStudio File),资源辅助文件,二进制格式,一般不用去管他. .clw ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你

2007-07-29 13:24:00 396

原创 取得系统当前时间

在VC中,我们可以借助CTime时间类,获取系统当前日期,具体使用方法如下:CTime t = CTime::GetCurrentTime(); //获取系统日期int y=t.GetYear(); //获取年份int m=t.GetMonth(); //获取当前月份int d=t.GetDay(); //获得日期int h=t.GetHour(); //获取当前时钟int mm=t.GetM

2007-07-27 21:40:00 1038

原创 ASSERT()的作用

 ASSERT()是一个调试程序时常被使用的宏,意思是在程序运行到这里时,确信表达式里的值为真,在程序运行时它判断括号内的表达式,如果表达式为TRUE,则继续执行后面的语句。如果表达式为FALSE , 将跳出错误。这个宏通常原来判断程序中值是否出现了严重的错误而影响后面的执行结果,如果出现了则终止程序以免产生严重后果,同时也便于查找错误。例如:    ASSERT(g_pCfg == NULL);

2007-07-27 21:34:00 621

原创 一个精确的定时器

typedef union _LARGE_INTEGER{ struct {  DWORD LowPart ;// 4字节整型数  LONG HighPart;// 4字节整型数 }; LONGLONG QuadPart ;// 8字节整型数}LARGE_INTEGER ;LARGE_INTEGER litmp; LONGLONG QPart1,QPart2;double dfMinus,

2007-07-27 20:50:00 677

原创 如何提高GIS应用系统的运行速度

    前几年写过GPS系统,也好久没接触这类代码了,前不久看了一个公司的GIS有感,所以写点东西。    不可否认的是现在的图越来越精确了,1:500 的图在我们的那个时候是不可想像的,但图的精确却带来运行速度的下降,可以看到的是现在的计算机速度是越来越快了,于是掩盖了运算速度的问题。比起我们做GIS时的公司提供的486是快的是没得比的。也许我们以前的速度太慢,所以我们不得不考虑更多的是速度

2007-07-25 17:27:00 1964 1

原创 关于 MD5算法的类

实现MD5算法的封装类//MD5.h#ifndef _LGY_MD5_H#define _LGY_MD5_H/* MD5 Class. */class MD5_CTX {public: MD5_CTX(); virtual ~MD5_CTX(); void MD5Update ( unsigned char *input, unsigned int inputLen); void MD

2007-07-24 18:40:00 845

原创 VC++ 避免重复启动程序的方法

 CString strNames; strNames="iseecommit"; HANDLE M_HITDLE; M_HITDLE=OpenMutex(MUTEX_ALL_ACCESS,FALSE,strNames); if (M_HITDLE!=NULL) {  //  MessageBox("窗口已开启!","提示",MB_ICONEXCLAMATION);  exit(0); }else

2007-07-24 18:28:00 1175 1

原创 VC++快捷键

F1: 帮助Ctrl+O   :OpenCtrl+P   :PrintCtrl+N   :NewCtrl+Shift+F2 :清除所有书签F2    :上一个书签Shift+F2  :上一个书签Alt+F2   :编辑书签Ctrl+F2  :添加/删除一个书签F12    :Goto definitionShift+F12  :Goto referenceCtrl+Num+  :Display

2007-07-16 14:19:00 601

H323协议呼叫处理流程

H323协议呼叫处理流程

2007-07-31

键盘编码

键盘编码值

2007-07-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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