将C++ 迁移到 C# 的尝试问题
我想把一下 C++ 实现的方法 转为C# 实现 请问可以做到吗?
主要想取出 硬件ID
LRESULT CHWDetectDlg::OnMyDeviceChange(WPARAM wParam, LPARAM lParam)
{
if ( DBT_DEVICEARRIVAL == wParam || DBT_DEVICEREMOVECOMPLETE == wParam ) {
PDEV_BROADCAST_HDR pHdr = (PDEV_BROADCAST_HDR)lParam;
PDEV_BROADCAST_DEVICEINTERFACE pDevInf;
PDEV_BROADCAST_HANDLE pDevHnd;
PDEV_BROADCAST_OEM pDevOem;
PDEV_BROADCAST_PORT pDevPort;
PDEV_BROADCAST_VOLUME pDevVolume;
switch( pHdr->dbch_devicetype ) {
case DBT_DEVTYP_DEVICEINTERFACE:
pDevInf = (PDEV_BROADCAST_DEVICEINTERFACE)pHdr;
UpdateDevice(pDevInf, wParam);
break;
case DBT_DEVTYP_HANDLE:
pDevHnd = (PDEV_BROADCAST_HANDLE)pHdr;
break;
case DBT_DEVTYP_OEM:
pDevOem = (PDEV_BROADCAST_OEM)pHdr;
break;
case DBT_DEVTYP_PORT:
pDevPort = (PDEV_BROADCAST_PORT)pHdr;
break;
case DBT_DEVTYP_VOLUME:
pDevVolume = (PDEV_BROADCAST_VOLUME)pHdr;
break;
}
}
return 0;
}
主要想取出 硬件ID
LRESULT CHWDetectDlg::OnMyDeviceChange(WPARAM wParam, LPARAM lParam)
{
if ( DBT_DEVICEARRIVAL == wParam || DBT_DEVICEREMOVECOMPLETE == wParam ) {
PDEV_BROADCAST_HDR pHdr = (PDEV_BROADCAST_HDR)lParam;
PDEV_BROADCAST_DEVICEINTERFACE pDevInf;
PDEV_BROADCAST_HANDLE pDevHnd;
PDEV_BROADCAST_OEM pDevOem;
PDEV_BROADCAST_PORT pDevPort;
PDEV_BROADCAST_VOLUME pDevVolume;
switch( pHdr->dbch_devicetype ) {
case DBT_DEVTYP_DEVICEINTERFACE:
pDevInf = (PDEV_BROADCAST_DEVICEINTERFACE)pHdr;
UpdateDevice(pDevInf, wParam);
break;
case DBT_DEVTYP_HANDLE:
pDevHnd = (PDEV_BROADCAST_HANDLE)pHdr;
break;
case DBT_DEVTYP_OEM:
pDevOem = (PDEV_BROADCAST_OEM)pHdr;
break;
case DBT_DEVTYP_PORT:
pDevPort = (PDEV_BROADCAST_PORT)pHdr;
break;
case DBT_DEVTYP_VOLUME:
pDevVolume = (PDEV_BROADCAST_VOLUME)pHdr;
break;
}
}
return 0;
}
...全文
相关推荐
CSharp2CPP——cracked
总的来说,"CSharp2CPP"工具为开发者提供了一种尝试混合使用C#和C++,或者从C#迁移到C++的途径。
Godot 和 VScode配置C#环境注意事项
本文指导初学者如何在Godot中使用C#,包括正确安装.NETSDK,解决VScode中智能提示问题,以及迁移Unity项目的基本步骤。
Unity 2024迁移.NET Core:性能提升、现代C#特性与生态融合实战指南
本文系统阐述Unity 2024将脚本运行时从Mono迁移到.NET Core(.NET 6/7/8+)的技术路径,涵盖性能提升(GC优化、帧率稳定性增强)、现代C#特性支持(C# 8–10)、.NET生态融合(NuGet库接入)及调试体验升级四大核心收益,并深入分析第三方插件兼容性、API行为差异与团队适配成本等关键挑战。内容包含环境升级、代码静态审查、依赖评估、CI/CD适配、性能基线建立及三阶段迁移路线图,强调渐进式落地与风险预案。
从C++与Python判断偶数看编程思维迁移与语言差异
本文以蓝桥杯‘判断偶数’赛题为切入点,对比分析C++与Python在实现同一功能时的语言特性与编程思维差异。重点涵盖静态/动态类型、输入输出机制、取模运算对负数的处理、位运算优化原理,以及从Python到C++的思维迁移要点。强调数据类型选择、边界情况(如0和负数)处理、防御性编程与底层性能考量,旨在培养语言无关的健壮编程思维。
C# to C++ Converter
然而,当需要将已有的C#代码迁移到C++环境时,就需要借助工具来完成这个复杂的任务。"C# to C++ Converter"就是这样一款旨在解决此问题的实用工具。"


VC.NET
