C#进行平台调用时利用C++头文件的小技巧
来源:互联网 发布:网络上巴掌什么意思 编辑:程序博客网 时间:2024/05/01 00:34
转自: http://www.builder.com.cn/2008/0322/779764.shtml
==============================================
我正好在做一个控件,其中需要引用WinXP自带的UxTheme.dll,因为我想生成一个纯粹的C#程序,而不是利用Manage C++来成一个托管类的动态库来作为C#程序的基础,因此想到需要转换定义。
UxTheme.dll共有47个命名函数,找到VC7(我使用VS2003)中的对应头文件UxTheme.h,在UltraEdit32这个工具中很方便地替换生成了C#进行平台调用的代码。问题是这些函数大都使用了一些常量定义,在VC7的头文件是Tmschema.h,而且它全部使用宏,KAO,如果要手工转的话,那是一件巨大的工作量。
我想到必须要有一个C/C++头文件宏扩展工具,在网上找了一下,没有找到。不过也还是找到了一个解决办法。以VC7为例,首先建一个最简单的项目——控件台应用,因为它没有多余的东东。然后将你不需要的全部删掉,看下图
其中hh.cpp只有最简单的代码
#include "11.h"
#using <mscorlib.dll>
using namespace System;
int _tmain()
{
return 0;
}
而11.h则更简单,只有一句,它包括你需要扩展的头文件
#include <tmschema.h>
这样一个相当简单的C++程序就完成了。接下来我们需要的只是设置一下这个项目的编译属性。你需要找到C/C++属性里的预编译头设置如下图设定就可以了
然后生成这个项目,找到以.i结尾的文件,是不是一个完整的已扩展的C++代码出来了,下面的你只需要用查找替换工具,很容易就以转成C#定义了。最后,需要注意的时,尽量去掉不必要的头文件,以减小生成尺寸。
- C#进行平台调用时利用C++头文件的小技巧
- C#进行平台调用时利用C++头文件的小技巧
- C#进行平台调用时利用C++头文件的小技巧
- C语言头文件的调用过程
- C# 根据文件头进行后缀名的判断
- 【C++】在头文件中定义全局变量的技巧
- 利用掩码进行IF判断小技巧
- C/C++中调用外部文件的函数时如何编写头文件
- 小足迹——C语言的头文件
- vi对多文件进行相同操作的小技巧
- C#利用SharpZipLib进行文件的压缩和解压缩
- 利用C#进行文件读写的方法选择总结
- 平台调用之如何利用VS2013 C#调试C++DLL库
- 添加头文件小知识(小技巧)
- 头文件的小问题
- 利用urlbase64的小技巧
- C#-- 几个C#编程的小技巧[转]
- c头文件和函数调用
- C#调用JS
- 成大事的九种手段
- fedora Yum命令
- visual studio 2008 序列号
- 下载
- C#进行平台调用时利用C++头文件的小技巧
- 如何准确地测量电源纹波
- 防止ADSL被入侵的一些技巧
- ASP.NET中进行消息处理(MSMQ) 二
- C#论坛
- SQL中使用WITH AS提高性能-使用公用表表达式(CTE)简化嵌套SQL
- Windows 下 API 详解
- MyEclipse中如何设置 jdk 和 jre 编译运行环境
- IT标准化与定制化如何抉择?