gpt4 book ai didi

c# - 将变量值从 VB6 转换为 C# 以使用 Win32

转载 作者:太空宇宙 更新时间:2023-11-03 18:38:23 25 4
gpt4 key购买 nike

我从一些 VB6 代码中找到了一系列值 online .我需要将此代码转换为 C#。我不知道如何阅读 VB6。如何将此 VB6 转换为等效的 C#?

Private Const EM_GETRECT = &HB2;
Private Const EM_SETRECT = &HB3
Private Const EM_SCROLLCARET = &HB7

Private Const ES_AUTOHSCROLL = &H80&
Private Const ES_AUTOVSCROLL = &H40&
Private Const ES_CENTER = &H1&

根据一个签名判断

[DllImport("coredll.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);

接受这些类型的变量(作为 Msg 参数),我相信这些应该是这样的形式

const int EM_GETRECT =

我不知道如何将 &HB2 更改为 int。我认为它将是 0x???,但我如何将这个小 &HB2 转换为十六进制?

最佳答案

在 C# 中表示十六进制值的语法很简单,就是 0x 后跟数字的十六进制表示形式。 (并且这种表示在 VB6 和 C# 中是相同的)所以你写

private const int EM_GETRECT = 0xB2;
Console.WriteLine(EM_GETRECT);

打印出小数点 178。

最后三个值(带有 & 后缀)是长数据类型的 VB 变量。
在 C# 中,数据类型 int 与 VB long 相同。您仍然可以使用 C# 整数

private const int ES_CENTER = 0x1; 
Console.WriteLine(ES_CENTER);

按预期打印 1

关于c# - 将变量值从 VB6 转换为 C# 以使用 Win32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11887983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com