DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
上一页 1 ··· 405 406 407 408 409 410 411 412 413 ··· 474 下一页

2013年8月22日

摘要: 1.今天写线程函数时,发现msdn中对ThreadProc的定义有要求:DWORD WINAPI ThreadProc(LPVOID lpParameter);不解为什么要用WINAPI宏定义,查了后发现下面的定义。于是乎需要区别__stdcall和__cdecl两者的区别; #define CALLBACK __stdcall#define WINAPI __stdcall#define WINAPIV __cdecl#define APIENTRY WINAPI#define APIPRIVATE __stdcall#define PASCAL __stdcall#define cdecl 阅读全文
posted @ 2013-08-22 13:49 DoubleLi 阅读(1087) 评论(0) 推荐(0)

摘要: Directive Parameter order Clean-up Passes parameters in registers?register Left-to-right Routine Yespascal Left-to-right Routine Nocdecl Right-to-left Caller Nostdcall Right-to-left Routine Nosafecall Right-to-left Routine No调用约定 压参数入栈顺序 把参数弹出栈者 函数修饰名(Calling convention)----------------------------- 阅读全文
posted @ 2013-08-22 13:44 DoubleLi 阅读(360) 评论(0) 推荐(0)

2013年8月20日

摘要: __declspec(dllexport)2009-03-04 17:25 我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类。但是,MSDN文档里面,对于__declspec(dllimport)的说明让人感觉有点奇怪,先来看看MSDN里面是怎么说的:不使用 __declspec(dllimport) 也能正确编译代码,但使用 __declspec(dlli 阅读全文
posted @ 2013-08-20 16:37 DoubleLi 阅读(938) 评论(0) 推荐(0)

2013年8月17日

摘要: 一、CString GetCurPath() { TCHAR exeFullPath[MAX_PATH]; CString strPath; GetModuleFileName(AfxGetInstanceHandle(),exeFullPath,MAX_PATH); strPath.Format("%s", exeFullPath); if(strPath.Right(1)!="//") strPath += "//"; return strPath; }二、 HINSTANCE hOcx = ::GetModuleHandle(& 阅读全文
posted @ 2013-08-17 12:28 DoubleLi 阅读(995) 评论(0) 推荐(0)

2013年8月16日

摘要: 当一个文件被映射到调用进程的地址空间时,GetModuleHandle函数得到其中某一模块的句柄。 使用GetModuleHandle函数格式:HMODULE GetModuleHandle( LPCTSTR lpModuleName); 参数 lpModuleName: [in]用指针指向一个包含模块名以NULL字符结尾的串,模块是.dll或.exe文件。如果文件扩展名省略,则增加默认的扩展名.dll。文件名串可以是省略号(...),表示模块名没有扩展名。这个串不是必须指定一个路径。当指定一个路径时,确定要用反斜线(\),而不是斜线(/)。这个模块名将和当前映射到调用进程地址... 阅读全文
posted @ 2013-08-16 19:35 DoubleLi 阅读(9046) 评论(0) 推荐(0)

摘要: ActiveX异步回调JavaScript开发环境:VC6.0。背景知识:COM/ActiveX/JavaScript/MFC/Thread想必用过Ajax的童鞋们都知道xmlhttp这个东西吧,通过设定onreadystatechange属性,我们就可以指定他状态改变的回调函数,当状态改变时,ActiveX控件就会调用我们通过onreadystatechange属性制定的回调函数。从而就出现了Ajax给我们带来的精彩。关于Ajax的技术我们这里不做讨论,我们的目的就是实现像xmlhttp这样具有异步回调JavaScript功能的ocx控件来。Let’s go!1.建立MFC ActiveX 阅读全文
posted @ 2013-08-16 19:05 DoubleLi 阅读(1910) 评论(1) 推荐(1)

摘要: 第一种:通过execScript调用。这种方法,虽然操作方便,但不能获取返回值。m_spHtmlDoc->get_parentWindow(&m_pHtmlWindow);VARIANT ret;ret.vt = VT_EMPTY;BSTR bstr = sScript.AllocSysString();bRet = m_pHtmlWindow->execScript(bstr, L"javascript", &ret);::SysFreeString(bstr);sRet = CString(ret);第二种:先用GetIDsOfNames找到 阅读全文
posted @ 2013-08-16 18:51 DoubleLi 阅读(3963) 评论(0) 推荐(0)

摘要: DLL工程,Debug版本下输出文件由basetool.dll basetool.lib 改为basetoolD.dll basetoold.lib 需设置:1、配置属性-常规-目标文件名 $(ProjectName) 加d2、配置属性-连接器-常规-输出问件 由 加d3、配置属性-连接器-高级-导入库,设置文件名$(OutDir)$ProjectName)d.lib4、如果有导出文件,.def文件中也一定要修改导出库的名字 LIBRARY "BaseTool" 变为 LIBRARY "BaseToold"关于相对目录相对目录是相对某个文件而言的,例如在 阅读全文
posted @ 2013-08-16 09:17 DoubleLi 阅读(26373) 评论(1) 推荐(4)

摘要: 论坛有会员用到了。,今天给大家说说CSring如何在非mfc下的调用第一:先要包含 #include "afx.h"包含之后会报windows.h重复定义我们需要把这个头文件包含在windows.h的前面第二:alt+f7 快捷键 设置---或者菜单--工程--设置---点击常规--使用MFC作为静态的 或者可以设置MFC为共享的DLL第三:alt+f7 快捷键 设置---或者菜单--工程--设置---切换到C\C++点击Code Generation --use-run-time library 选择MUltithranded如果你第二:选择的是MFC作为共享的dll的话 阅读全文
posted @ 2013-08-16 08:47 DoubleLi 阅读(701) 评论(0) 推荐(0)

2013年8月15日

摘要: VC2008环境中ICE的配置ICE 3.4.0的下载页面http://www.zeroc.com/download_3_4_0.html环境变量配置1、Ice-3.4.0安装到c:\Ice-3.2.0-VC712、Ice-3.2.0-ThirdParty-VC71.msi到D:\Ice-3.4.03、在OS系统环境变量中添加ICEROOT,指向D:\Ice-3.4.04、在OS系统环境变量path添加“%ICEROOT%\bin;”、“%ICEROOT%\lib;”VC环境配置“工具”\“选项”\“项目”\“VC++目录”选择“可执行文件”: 增加“$(ICEROOT)\bin”选择“包含文 阅读全文
posted @ 2013-08-15 14:51 DoubleLi 阅读(403) 评论(0) 推荐(0)

上一页 1 ··· 405 406 407 408 409 410 411 412 413 ··· 474 下一页