C++代码转为C#

东莞寻香苑 东莞寻香苑 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
At offset 24 (0x18) after the end of the DEVMODE structure, there is a byte that directly controls this setting.
So, you need only punch the right value into the right place, at the right time. You'll want to make the change to the application-global DEVMODE right before printing. I decided to put it in the easily-accessible OnPreparePrinting function of my View class.

BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)
{
PRINTDLG rPD;
BOOL fRet= AfxGetApp()->GetPrinterDeviceDefaults( &rPD );

LPDEVMODE pDM= (LPDEVMODE)::GlobalLock( rPD.hDevMode );

PBYTE pbDriverData= (PBYTE)(((BYTE *)pDM)+(pDM->dmSize));// right after the end

pbDriverData[24]= 2; // set to 4-up (1=2-up, 3=6-up, etc.)

::GlobalUnlock( rPD.hDevMode );

// default handling (as added by the ClassWizard)
return( DoPreparePrinting(pInfo) );
}

主要是这句:
PBYTE pbDriverData= (PBYTE)(((BYTE *)pDM)+(pDM->dmSize));
...全文

相关推荐

C++程序员快速转向C#开发.doc

当一个命名空间中的代码需要使用在另一个命名空间中定义的名称时,必须包括对该命名空间的引用,使用点字符(.)。三、数据类型C# 中的数据类型和 C++ 类似,但是也有所不同。

zy107598411

C++ 与 C# 代码互相调用

C++ 和 C# 代码的互相调用为软件开发带来了更多的灵活性和功能扩展性,通过多种方式如动态链接库、COM 组件、C++/CLI 以及代理存根机制等,可以根据不同的应用场景和需求实现两者之间有效的交互。然而,在实现互调的过程中,也面临着诸多挑战,包括数据类型转换、内存管理、调试困难以及性能优化等方面的问题,需要开发者充分了解两种语言的特点、互调机制的原理以及相关的工具和技术,才能顺利地完成跨语言的代码集成,开发出高质量、高性能的软件系统。

亿只小灿灿

c#调用c++库函数参数类型转换.docx

对于这种情况可以使用 C# 提供的非安全代码来进行解决,但是,毕竟是非托管代码,垃圾资源处理不好的话对应用程序是很不利的。所以还是使用 C# 提供的 ref 以及 out 修饰字比较好。

Rose520817

dll.rar_Java 生成dll_Java程序转为c#调用时需要的dll包_jdk 生成 dll

**编写C代码**:根据生成的C头文件编写C/C++源代码,实现这些函数。这部分代码会调用JNI函数来与Java虚拟机交互。5. **编译C代码**:将C代码编译为动态链接库(.dll文件)。

weixin_42651887

csv.rar_C csv_C# csv_File Operate csv_c++ csv_读取文件

这个压缩包“csv.rar”包含与CSV文件操作相关的资源,适用于C、C#和C++三种编程语言,主要涉及读取CSV文件并将其内容显示在clistctrl控件上,以及循环读取文件的操作。

Kinonoyomeo
评论 12
收藏 已收藏
分享
返回顶部
东莞寻香苑
C# 111,128 成员 642,536 内容