- 博客(25)
- 资源 (17)
- 收藏
- 关注
转载 C++ memset memcpy 等价于 C# Array.Clear Array.Copy
C++ BYTE Device_Info[MAX_DATA];memset(Device_Info, 0x00, MAX_DATA * sizeof(byte)); C#byte[] Device_Info =new byte[MAX_DATA];Array.Clear(Device_Info, 0, Device_Info.Length);
2013-12-29 00:13:37 2780
转载 利用unsafe代码在C++和C#之间传递图像
在实际应用中,经常遇到用OpenCV等C++平台的库来采集图像,然后传递到C#中进行绘制的情况。这时,从C++向C#中传递图像(数组)就成了一个重要的问题。这里记录实验过的三种方法。1. 先前一直采用逐像素拷贝的方法:C++中定义采集图像函数:[cpp] view plaincopyextern "C" __declspec(dll
2013-12-28 12:19:18 4307
转载 值类型的默认封送处理
大多数值类型(如整数和浮点数)都是可直接复制到本机结构中的,且不需要进行封送处理。其他非直接复制到本机结构中的类型在托管和非托管内存中具有不同的表示形式,且需要进行封送处理。还有一些其他类型需要跨交互操作边界进行显式格式设置。本主题提供下列有关格式化值类型的信息:平台调用中使用的值类型COM Interop 中使用的值类型除描述格式化类型外,本主题还
2013-12-28 12:17:18 1856
转载 托管代码与非托管代码之间的封送处理
目录[InAttribute] 和 [OutAttribute] 关键字 Out 和 Ref 以及通过引用传递 返回值 StringBuilder 和封送处理 复制和固定 内存所有权 反向 P/Invoke 和委托生存期 P/Invoke Interop Assistant 尝试一下 让我们面对现实吧。这个世界并不完美。几
2013-12-27 18:11:15 2247
转载 .Net 托管代码和非托管代码的区别
什么是托管代码(managed code)? 托管代码是一microsoft的中间语言(IL),他主要的作用是在.NET FRAMEWORK的公共语言运行库(CLR)执行代码前去编译源代码,也就是说托管代码充当着翻译的作用,源代码在运行时分为两个阶段: 1.源代码编译为托管代码,(所以源代码可以有很多种,如VB,C#,J#) 2.托管代码编译为micr
2013-12-27 18:03:07 1363
转载 C#向C++封送结构体数组
C#向C++封送结构体数组 在使用第三方的非托管API时,我们经常会遇到参数为指针或指针的指针这种情况,一般我们会用IntPtr指向我们需要传递的参数地址; 但是当遇到这种一个导出函数时,我们如何正确的使用IntPtr呢,extern "C" __declspec(dllexport) int GetClass(Class pClass[50]) ; 由于这种情况也
2013-12-26 18:01:16 1732
转载 C#获取控制台句柄的方法
1.创建类User32API.cs,代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Runtime.InteropServices;using System.Collections;namespace XXX
2013-12-24 17:44:49 2940
转载 如何使用struct? (C/C++) (.NET) (C++/CLI)
AbstructC++/CLI分ref struct與value struct,這裡介紹常用的value struct寫法。Introduction使用環境:Visual C++ 9.0 / Visual Studio 2008struct_value.cpp / C++/CLI 21 /* 2 (C) OOMusou 2007 http://oomus
2013-12-24 11:48:08 2395
转载 WM_KEYDOWN的lParam参数构造
构造F1的WM_KEYDOWN的lParam:0x1 | (MapVirtualKey(VK_F1, MAPVK_VK_TO_VSC) 如果Alt也按下0x1 | ((KF_ALTDOWN|MapVirtualKey(VK_MENU, MAPVK_VK_TO_VSC)) 构造F1的WM_KEYUP的lParam:0x1 | ((KF_REPEAT
2013-12-22 20:22:35 5166
转载 WM_KEYDOWN和WM_KEYUP的使用
通过这两个消息可以模拟键盘事件。相关函数:MapVirtualKey: The MapVirtualKey function translates (maps) a virtual-key code into a scan code or character value, or translates a scan code into a virtual-key code.V
2013-12-22 20:15:22 5446
转载 WM_COMMAND消息
当用户点击菜单、按钮、下拉列表框等控件时候,会触发WM_COMMANDLOWORD(wParam) 是控件或菜单或加速键的ID,菜单的sparator的ID为0如果LOWORD(wParam) 是控件ID,HIWORD(wParam)是notification code, 比如BN_CLICKED, BN_DBLCLK等,标志用户对控件的操作,双击,单击之类。如果LOWOR
2013-12-17 18:33:10 1390
转载 MFC 判断鼠标是否在控件范围内
共有以下几种办法: //----------------------------------------------------------------------------------------------------------------1---------------------------//void C********::OnMouseMove(UINT nFlags
2013-12-17 17:01:41 4296
转载 鼠标事件的响应
鼠标键包括左键、右键和中键(滚轮),每个键都有三种事件消息,一是被按下,二是被释放,三是双击。下表列出了鼠标操作、消息名称及处理函数名。 鼠标操作 消息名称 处理函数名 左键按下 WM_LBUTTONDOWN OnLButtonDown 左键释放 WM_LBUTTONUP OnLButtonUp 左键双击 WM_LBUTTONDBCLK OnLButtonDb
2013-12-17 14:21:42 1810
转载 Keyboard messages/accelerators handling in MFC dialog based applications
IntroductionThere are a substantial number of Windows programmers who insist, often very vehemently, that a programmer should avoid overriding PreTranslateMessage. They have their reasons for sa
2013-12-17 14:01:43 1300
转载 Windows消息机制的流程及PreTranslateMessage作用和使用方法
Windows消息机制的流程: A. 操作系统接收应用程序的窗口消息,将消息投递到该应用程序的消息队列中 B. 应用程序在消息循环中调用GetMessage函数从消息队列中取出一条一条的消息,取出消息后,应用程序可以对消息进行一些预处理。 C. 应用程序调用DispatchMessage,将消息回传给操作系统。 D. 系统利用WNDCLASS结构体的lpfn
2013-12-16 23:19:57 1392
转载 用于生成命令和属性的宏
可以在项目的“属性页”对话框中任何接受字符串的位置使用这些宏。这些宏不区分大小写。宏说明$(RemoteMachine)设置为“调试”属性页上“远程计算机”属性的值。有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置。$(References)以分号分隔的引
2013-12-15 22:36:49 1196
转载 Macros for Build Commands and Properties
You can use these macros anywhere in a project's Property Pages dialog box where strings are accepted. These macros are not case sensitive.To display the currently available macros, in the column
2013-12-15 22:26:28 1459
转载 Boost学习笔记-tokenizer
在实际应用中,字符串分解相当重要,在以前一直没有找到简单的字符串分解的库,一般直接使用MFC的CString进行分词,虽然lex也可以完成这些工作,但是有种杀鸡用牛刀的味道。最近学习boost,发现boost的tokenizer可以完成这些功能,并且使用起来也相当简单。在boost文档中的一些用例都比较短,也而且也不难扩展,Tokenizer 类 template , cl
2013-12-13 15:06:08 1310
转载 C#与C++/CLI混合编程
最近做项目用到了一个二维码识别的SDK,想在C#里做个界面去调用该库生成和解析二维码,原本之前做过在C#里调用DLL的研究,没想到这次的尝试会异常的艰难,听我慢慢说来。 先用google搜了一通,总结了C#下调用DLL的几种方法: 1、C#下Invoke。通过DLLImport动态导入DLL中的函数,然后直接调用之。这种方法比较适合WinAPI和参数比较简
2013-12-12 22:01:08 3519
转载 C++/CLI资料汇总
一 在线资料1)functionX:http://www.functionx.com/cppcli/index.htm2)functionX:http://www.functionx.com/vccli/index.htm3) codegure:http://www.codeguru.com/cpp/cpp/cpp_managed/general/article.php/c
2013-12-12 14:55:28 1625
转载 C#调用C++ DLL相关问题
目录(?)[-]转自httpblogcsdnnetxiaochongchong1248archive201001135181345aspxC调用C动态库中如何传递字符串char转CStringstring转charstring转CString由于C#存在易反编译的弊端,虽然有一些工具和方法,混淆,重命名,加密,但是不是很方便,有些情况下混淆后不能成功运行了。很多人都想把核心的代
2013-12-12 13:00:54 1289
转载 如何:将 System::String 转换为标准字符串
可以在不使用 Vcclr.h 中的 PtrToStringChars 的情况下将 String 转换为 std::string 或 std::wstring。示例// convert_system_string.cpp// compile with: /clr#include #include usin
2013-12-11 16:28:49 1027
转载 被诅咒的程序员的七宗罪
七宗罪(Seven deadly sins),13世纪道明会神父圣多玛斯·阿奎纳列举出各种恶行的表现。这些恶行最初是由希腊神学修道士庞义伐草撰出8种损害个人灵性的恶行,分别是贪食、色欲、贪婪、暴怒、懒惰、伤悲、自负及傲慢。程序员生来不平等。有的伟大。有的渴望伟大。有的就是废物。下面是一些程序员经常会走入的歧途。听起来很恐怖,但享用吧。上帝就在你身边,警惕这些危险的信号,跟随主救赎的
2013-12-10 23:47:34 1361
转载 在Visual Studio2012中配置openCV
经过了几个小时的努力,最终成功地在Visual Studio 2012中配置好了openCV,为了分享经验以及便于日后的查阅,记录了配置的过程和一些细节。首先指出我配置的环境是: Windows_8(64位), Visual_Studio_2012openCV的版本是: openCV_2.47下面开始详细地讲解整个配置的过程:步骤1: 首先需要下载openCV,这是Sour
2013-12-10 23:36:40 1223
转载 剖析ifstream打开含中文路径名文件失败的原因
最近写程序的时候遇到了使用ifstream打开含中文路径文件时失败的问题,在网上翻了一下,发现这是一个普遍遇到的问题,在很多人的博文中也都给出了一些解决技巧,但大多是转载的东西,很少对这个问题引发的原因有一个清晰、全面的解释。因此,我觉得有必要对该问题引发的原因作一个详细的剖析,希望对遇到同样问题的朋友们能有所帮助。首先,用一个简单的例子来重现一下我所遇到的问题:(1)在VS2008的“P
2013-12-10 17:05:39 1185
程序设计C、C++、Java、OpenGL、MFC、Windows、SDK驱动开发
2009-04-14
解决 Can not find the main class. Program will exit. 难题
2008-09-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人